Package com.illumon.iris.controller
Class IrisQuerySchedulerTemporary
java.lang.Object
com.illumon.iris.controller.IrisQueryScheduler
com.illumon.iris.controller.IrisQuerySchedulerTemporary
- All Implemented Interfaces:
IrisScheduler
public class IrisQuerySchedulerTemporary extends IrisQueryScheduler implements IrisScheduler
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.controller.IrisQueryScheduler
IrisQueryScheduler.RestartWhenRunning -
Field Summary
Fields Modifier and Type Field Description static StringTEMPORARY_DEPENDENT_QUERY_SERIAL_STRINGstatic StringTEMPORARY_EXPIRATION_TIME_MILLIS_STRINGstatic StringTEMPORARY_QUEUE_NAME_STRINGFields inherited from class com.illumon.iris.controller.IrisQueryScheduler
DISABLED_PARSE_STRING, overnight, RESTART_COUNT_UNLIMITED, timeZoneFields inherited from interface com.illumon.iris.controller.IrisScheduler
DELIMITER_TOKEN, SCHEDULER_TYPE_TOKEN -
Constructor Summary
Constructors Constructor Description IrisQuerySchedulerTemporary()IrisQuerySchedulerTemporary(String startTime, String stopTime, String timeZone, boolean schedulingDisabled, boolean repeatEnabled, String repeatInterval, boolean skipIfUnsuccessful, boolean stopTimeDisabled, int errorRestartCount, String temporaryQueueName, long expirationTimeMillis, List<Long> dependentOnQuerySerials, String restartDelayMinutes, IrisQueryScheduler.RestartWhenRunning restartWhenRunning) -
Method Summary
Modifier and Type Method Description booleanareConditionsMet()Check if the dependency conditions for running have been met.booleanequals(Object object)voidgenerateSchedulerTimes(Long lookPastTime, Map<Long,PersistentQueryInfo> queryInfos)Generate the next start/stop time values for this query.String[]generateStringArrayFromScheduler()List<Long>getDependentOnQuerySerials()Return the list of query serials on which this query is dependent.longgetExpirationTimeMillis()For a temporary query, return the query's expiration time in millis.StringgetScheduleDetailDisplay(String[] strings, Map<Long,PersistentQueryInfo> queryInfos)StringgetTemporaryQueueName()For a temporary query, return the temporary queue name.booleanhasStartTime()Return true if the scheduling has a determinable start time.voidpopulateSchedulerFromStringArray(String[] strings)booleanshouldRestartWhenRunning()Indicates whether a query should be restarted by the scheduler when running.booleanupdateDependencyState(Long serial, PersistentQueryState.Status status)For a dependent query, update the dependency state with the passed in state, and indicate if all required dependencies have been met.voidvalidate(Map<Long,PersistentQueryInfo> allConfigurations)Validate the scheduling.Methods inherited from class com.illumon.iris.controller.IrisQueryScheduler
getRepeatInterval, getRestartDelayMinutes, getRestartErrorCount, getRestartWhenRunning, getRestartWhenRunningValues, getSchedulingDisabled, getStartTime, getStartTimeDisplay, getStartTimeInMillis, getStartTimeOfDay, getStopTime, getStopTimeDisplay, getStopTimeInMillis, getStopTimeOfDay, getTimeZoneDisplay, getTimeZoneString, hasStopTime, isOvernight, isRepeatEnabled, isStartTimeFirstForDay, isStopTimeDisabled, skipIfUnsuccessfulMethods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.controller.IrisScheduler
getRepeatInterval, getRestartDelayMinutes, getRestartErrorCount, getRunOnFailure, getSchedulingDisabled, getStartTimeDisplay, getStartTimeInMillis, getStartTimeOfDay, getStopTimeDisplay, getStopTimeInMillis, getStopTimeOfDay, getTimeZoneDisplay, getTimeZoneString, hasStopTime, isOvernight, isRepeatEnabled, isStartTimeFirstForDay, setDependentOnQuerySerials, skipIfUnsuccessful, updateDependencyState
-
Field Details
-
Constructor Details
-
IrisQuerySchedulerTemporary
public IrisQuerySchedulerTemporary() -
IrisQuerySchedulerTemporary
public IrisQuerySchedulerTemporary(String startTime, String stopTime, String timeZone, boolean schedulingDisabled, boolean repeatEnabled, String repeatInterval, boolean skipIfUnsuccessful, boolean stopTimeDisabled, int errorRestartCount, String temporaryQueueName, long expirationTimeMillis, List<Long> dependentOnQuerySerials, String restartDelayMinutes, IrisQueryScheduler.RestartWhenRunning restartWhenRunning)
-
-
Method Details
-
generateStringArrayFromScheduler
- Specified by:
generateStringArrayFromSchedulerin interfaceIrisScheduler
-
populateSchedulerFromStringArray
- Specified by:
populateSchedulerFromStringArrayin interfaceIrisScheduler
-
equals
- Overrides:
equalsin classIrisQueryScheduler
-
getScheduleDetailDisplay
public String getScheduleDetailDisplay(String[] strings, Map<Long,PersistentQueryInfo> queryInfos)- Specified by:
getScheduleDetailDisplayin interfaceIrisScheduler
-
generateSchedulerTimes
Description copied from interface:IrisSchedulerGenerate the next start/stop time values for this query. Generated values of -1 will be used to indicate no start or stop time. After calling this, calling getStartTimeInMillis will return the generated start time and calling getStopTimeInMillis will return the generated stop time.- Specified by:
generateSchedulerTimesin interfaceIrisScheduler- Parameters:
lookPastTime- the time in millis past which the scheduling engine looks for the next start time, or null if none is desiredqueryInfos- the controller's query information Map
-
updateDependencyState
Description copied from interface:IrisSchedulerFor a dependent query, update the dependency state with the passed in state, and indicate if all required dependencies have been met.- Specified by:
updateDependencyStatein interfaceIrisScheduler- Parameters:
serial- the serial of the dependency querystatus- the status of the dependency query- Returns:
- true if all required dependency conditions are met for this query
-
areConditionsMet
public boolean areConditionsMet()Description copied from interface:IrisSchedulerCheck if the dependency conditions for running have been met.- Specified by:
areConditionsMetin interfaceIrisScheduler- Returns:
- true if the query has met it dependency conditions
-
getTemporaryQueueName
Description copied from interface:IrisSchedulerFor a temporary query, return the temporary queue name.- Specified by:
getTemporaryQueueNamein interfaceIrisScheduler- Returns:
- the queue name, or null if it is not a temporary query
-
getExpirationTimeMillis
public long getExpirationTimeMillis()Description copied from interface:IrisSchedulerFor a temporary query, return the query's expiration time in millis.- Specified by:
getExpirationTimeMillisin interfaceIrisScheduler- Returns:
- the query's expiration time in millis (i.e. the time from which it completes until it should be deleted)
-
validate
Description copied from interface:IrisSchedulerValidate the scheduling.- Specified by:
validatein interfaceIrisScheduler- Overrides:
validatein classIrisQueryScheduler- Parameters:
allConfigurations- a map of all current query configurations which can be used for additional validation
-
getDependentOnQuerySerials
Description copied from interface:IrisSchedulerReturn the list of query serials on which this query is dependent.- Specified by:
getDependentOnQuerySerialsin interfaceIrisScheduler- Returns:
- the dependent-on query serial list, or null if this is not a dependent query
-
hasStartTime
public boolean hasStartTime()Description copied from class:IrisQuerySchedulerReturn true if the scheduling has a determinable start time.- Overrides:
hasStartTimein classIrisQueryScheduler- Returns:
- true if the scheduling has a determinable start time, false otherwise
-
shouldRestartWhenRunning
public boolean shouldRestartWhenRunning()Description copied from interface:IrisSchedulerIndicates whether a query should be restarted by the scheduler when running.- For a dependent query, indicates whether the query should start immediately if the dependency condition is true and the query is not in a terminal state
- For a continually scheduled query, it indicates that a scheduled restart should cause the running query to be stopped (always true)
- For daily and monthly scheduled queries, it indicates whether a query that's scheduled to start at a specified time should be restarted, even if it's already running (e.g. started manually out of scheduled run-time)
- Specified by:
shouldRestartWhenRunningin interfaceIrisScheduler- Overrides:
shouldRestartWhenRunningin classIrisQueryScheduler- Returns:
- true if the query should be restarted when its dependent-on condition is met
-