Modify tempmon server logic to take "unfair" time windows into account
when a client or probe first are (re-)enabled, we can't expect to have readings within the time window we'd normally be checking. previously we'd get false alarms about "probe error status" etc. when this happened; hopefully no longer!
This commit is contained in:
		
							parent
							
								
									f31a0c4c22
								
							
						
					
					
						commit
						cf27af81d4
					
				
					 1 changed files with 15 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -122,10 +122,24 @@ class TempmonServerDaemon(Daemon):
 | 
			
		|||
        # the client to be (possibly) offline.
 | 
			
		||||
        delay = client.delay or 60
 | 
			
		||||
        cutoff = self.now - datetime.timedelta(seconds=delay + 60)
 | 
			
		||||
 | 
			
		||||
        # but if client was "just now" enabled, cutoff may not be quite fair.
 | 
			
		||||
        # in this case we'll just skip checks until cutoff does seem fair.
 | 
			
		||||
        if cutoff < client.enabled:
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        # we make similar checks for each probe; if cutoff "is not fair" for
 | 
			
		||||
        # any of them, we'll skip that probe check, and avoid marking client
 | 
			
		||||
        # offline for this round, just to be safe
 | 
			
		||||
        online = False
 | 
			
		||||
        cutoff_unfair = False
 | 
			
		||||
        for probe in client.enabled_probes():
 | 
			
		||||
            if self.check_readings_for_probe(session, probe, cutoff):
 | 
			
		||||
            if cutoff < probe.enabled:
 | 
			
		||||
                cutoff_unfair = True
 | 
			
		||||
            elif self.check_readings_for_probe(session, probe, cutoff):
 | 
			
		||||
                online = True
 | 
			
		||||
        if cutoff_unfair:
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        # if client was previously marked online, but we have no "new"
 | 
			
		||||
        # readings, then let's look closer to see if it's been long enough to
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue