public static int getInterval ( ArrayList < MonitorJob > monitors ) { String tmp = getProperty ( "executor.interval.min" ) ; if ( tmp != null ) MIN_INTERVAL = Integer . parseInt ( tmp ) ; int [ ] monIntervals = new int [ monitors . size ( ) ] ; for ( int i = 0 ; i < monitors . size ( ) ; i ++ ) monIntervals [ i ] = monitors . get ( i ) . interval ; return Math . max ( MIN_INTERVAL , gcd ( monIntervals ) ) ; }
Determines the minimum interval at which the executor thread needs to wake upto execute jobs . Essentially this is interval equals the GCD of intervals of all scheduled jobs .