question: private void checkForMissedScans ( ) { DateTime now = now ( ) ; for ( ScheduledDailyScanUpload scheduledScan : _scheduledScans ) { DateTime startCheckInterval = now . minusMinutes ( 10 ) ; Interval missedInterval = new Interval ( startCheckInterval , now ) ; DateTime scheduledTime = scheduledScan . getNextExecutionTimeAfter ( startCheckInterval ) ; if ( missedInterval . contains ( scheduledTime ) ) { _log . info ( "Attempting to start potentially missed scan for time {}" , scheduledTime ) ; try { startScheduledScan ( scheduledScan , scheduledTime ) ; } catch ( RepeatScanException e ) { _log . info ( "Scan was not missed for time {}, no action taken" , scheduledTime ) ; } catch ( ScanExecutionTimeException e ) { _log . info ( "Too much time has elapsed since {}, no action taken" , scheduledTime ) ; } } } }
target:  Checks all scheduled scans and tries to start any which should have stared within the last 10 minutes. This ensures that ZooKeeper and/or leadership outages of less than 10 minutes will not cause a scheduled scan to be completely missed, just possibly delayed.