|Top Previous Next|
The primary purpose of the Job Scheduler is automatic non-interactive execution of actions according to a user-defined time schedule, e.g.:
•Checking device status every two hours and running an external application in case of a problem
•Purging device internal memory every Sunday at 4:00 AM
•Sending an attendance report by e-mail on the 2nd and 17th of every month at 4:00 PM during 2009 and 2010
•Upgrading firmware of a thousand devices right now or at 3AM next night
Any action or function available within AggreGate may be scheduled for periodic execution. If the action is interactive and requires user input, input parameters may be pre-defined during scheduling. When the server is restarted, the scheduler can detect if any jobs were missed (not launched) while the server was down.
There are two types of schedules:
•Simple schedule. According to a simple schedule, an action is executed for a set number of times with a fixed interval. It is also possible to specify start and end of the time interval when the execution takes place.
•Advanced schedule. This type of schedule allows complex execution patterns, like "execute every minute starting at 2pm and ending at 2:59 PM, every day" or "execute at 10:15 AM on the last Friday of every month during the years 2009, 2011, 2013, and 2015".
To run, a scheduled job requires the following:
•Context mask that matches the contexts from which the action will be executed
•Name of an action to execute
•Any input parameter(s) required for the action
•At least one trigger to determine when the action is executed
The scheduler stores its internal state persistently. This means that when the server is restarted, the scheduler can detect if any scheduled jobs were missed (not launched) while the server was down.
The Scheduler executes actions in headless (non-interactive) mode. Actions that don't support non-interactive execution cannot be scheduled.
Basic properties of a scheduled job are described here.
Checking Job Results
For one-time jobs, View Status action provides access to Job Results table that contains status of job execution for each target context individually:
•Target context, e.g the context function/action was called from
•Execution status: Pending (not yet executed for this target), In Progress, Successful, Error or Skipped (due to false Condition)
•Execution result, e.g. function/action output
Tracking Execution History
•Execution history of a job
•Errors reported by the executed action
Built-In Scheduled Jobs
Several scheduled jobs are built into AggreGate Server:
•Check Incoming Mail. This scheduled job is used by AggreGate Server to fetch mail from incoming mail server. It is necessary for acknowledging alerts by email.
•Remove Expired Events. This scheduled job is responsible for periodic removal of expired events from event history. It's not recommended to delete or reconfigure it.
•Scheduled Server Restarts. This job restarts AggreGate Server when a restart operation was scheduled by administartor.
•Scheduled Server Shutdowns. This job stops AggreGate Server when a shutdown operation was scheduled by administartor.