The ability to schedule eNMS services to run without user input is a key feature of the platform. Services can be configured to trigger at a certain time, repeat at a given frequency, and even stop recurring after a specified date, allowing the user to limit the number of times the task is repeated.
Instead of having to run services on-demand, they can be scheduled by
creating a task from
Automation / Scheduling. Depending on what one would like
to do with a scheduled task, the user may need to provide data for several parameters.
Below are all the input fields that can be filled, with brief descriptions of
what they do:
|Name||Yes||The name by which eNMS will refer to the task|
|Default Access||Yes||Used to determine which users can make changes to the task; defaults to "Creator Only"|
|Scheduling Mode||Yes||Either "Standard" or "Crontab"; see Scheduling Modes for more|
|Description||No||A brief description of what the task does|
|Start Date||Only in Standard Mode||the calendar date on which the task will begin running at the specified interval|
|End Date||No||The calendar date on which eNMS will stop running the task|
|Frequency||No||A numerical value used to determine how often the task will repeat after its initial trigger is met|
|Frequency Unit||Yes||Assigns a unit of time to the Frequency field. Can be "Seconds", "Minutes", "Hours", or "Days", and defaults to "Seconds"|
|Crontab Expression||Only in Crontab Mode||the expression used to calculate the frequency of the task|
|Payload||No||The initial payload to be supplied to the scheduled service at runtime; more information can be found in the Services documentation.|
|Devices||No||A selection of individual devices the Service will be called on each time the task is triggered|
|Pools||No||A group (or groups) of devices the Service will be called on each time the task is triggered - useful for large selections of devices|
|Service||Yes||The Service that the task will call at its specified time or frequency|
If both the Devices and Pools fields are left empty, the service will run using its own default targets. Otherwise, the task targets (all selected devices, plus all devices of all selected pools) override the service targets when the service runs.
Currently, eNMS offers two scheduling modes:
Standard, or "Date" Scheduling mode relies on the user specifying a start date, frequency, frequency unit, and (optionally) an end date. Once the start date is reached, the task will begin repeating at the given interval until it reaches the end date. If no end date is specified, the service will keep repeating until manually stopped.
This mode relies on a Crontab Expression in the task's parameters. Crontab expressions use numerical values, whitespace, and wildcards to specify moments or periods of time. Reference information on the format can be found here.
As an example, the following expression applied to a Crontab Scheduling mode task
would result in a service that runs every 15 minutes (
*/15), but only on Tuesdays
and Thursdays (
*/15 * * * 2,4
All tasks can be paused and resumed using the controls in the task table. Newly created tasks are set to paused by default. Active tasks display the date that they will next be run by the scheduler, as well as the amount of time left until then.
|The task table from the
If a task is Active without a next run date, it is likely that the scheduled job database was lost. Try editing the task and saving it. This will restore the scheduled portion of the task.
When specifying a start time, one must take into account the server's time zone configuration, as it may not match the user's local time zone. Often in network administration, the server will be set to UTC (Coordinated Universal Time), but for verification, the current server time will always be displayed in the bottom-left corner of eNMS in the navigation panel:
To run a scheduled task at a specific local time, ensure that the start time or crontab expression is adjusted to the server time.
In addition to displaying the next runtime of a task and the time remaining, once a task is scheduled and active eNMS also sends the event information to an in-app calendar. This view can be accessed from the main controls of the task table:
In the calendar view one will be able to see the next runtime of each active task as a calendar event. Only the next runtime will be visible for tasks. Once the task runs again and the next runtime is re-calculated, the calendar will also be updated.
The controls in the top right of the window allow the user to select between levels of granularity: month, week, day, and list. The month, week, and day options maximize the view according to the selected time period. The list view replaces the calendar with a sequence of all next runtimes starting with the event that will occur the soonest.