A schedule specifies when the task will be run. A task may have more than one schedule associated with it, but must always have at least one in order to be run automatically. Tasks can also be run manually by the operator; a task need not have a schedule to be run manually.
MOVEit Central checks for new tasks to run once a minute. Each time a check occurs, the scheduler scans all tasks to see which ones are eligible to run this minute. A task is eligible to run if ANY of its schedules lists the current minute as a valid time to run. The same task will not be run multiple times in a minute, even if more than one of its schedules matches the current minute.
If the Maximum Running Tasks setting is 0, which is the default, then all eligible tasks are started simultaneously. Otherwise, the scheduler will immediately start only as many eligible tasks as it can without exceeding the specified maximum number of simultaneous tasks. The other tasks will be queued, and will be run as soon as currently-running tasks complete. In any case, each task runs in its own thread so as not to interfere with any other task.
A task will not be run if a previous copy of the task is still running. Missed runs will be "made-up" the next time that the scheduler runs and sees that another copy of the task is not running. However, no more than one missed run will be made up. For instance, if a task is scheduled to be run at 9:00, 9:05, 9:10, 9:15, and 9:20, and the 9:00 task takes 16.5 minutes to run, then the 9:05 and 9:10 runs of the task will be skipped. At 9:17, the scheduler will run the 9:15 task two minutes late.
The scheduler will never run a task that was scheduled to run prior to the time that MOVEit Central was started. So, in the above example, if MOVEit Central is started at 9:17, it would not run the task until 9:20, completely skipping the 9:00, 9:05, 9:10, and 9:15 runs.
Schedules also control when event-driven tasks are run. Events that arrive for an interested task will be ignored unless they arrive during a scheduled window of time. "Missed" files are handled by an automatic task run performed automatically when the task enters its next scheduled window.
For example, consider a task listening for events every day from 3am to 7am. A file arrives at 2am; this file is ignored and the task is not started at that time. At 3am MOVEit Central automatically runs the task to look for missed files, finds the "2am file" and downloads it. A second file arrives at 4am. As soon as this file is complete, MOVEit Central runs the task to download it. Finally, a third file arrives at 8am. This file is ignored; unless manual action is taken this file will automatically be picked up by the task tomorrow morning.
The "Run even if notifications are enabled for the host" scheduling option (discussed below) allows you to schedule tasks on a periodic and event-driven basis. To schedule a task to ignore file events, you must set it up to "run once" at specific times.
At startup, and when a secondary failover node becomes primary, MOVEit Central will run all event-driven tasks whose schedule covers the current date and time. It does this to ensure that files that arrived when Central was not running will be processed.
Unlike hosts and scripts, schedules are part of a task, not separate entities that are simply referred to by tasks.A schedule specifies both the days a task should run and the times it should run.
Specified days can be either days of the week (Sunday, Monday, Tuesday, etc.), days of the month (1-28), or a pre-configured Date List. Days of the week and days of the month can only be positively added to a schedule; you can not tell a schedule NOT to run on a day of the week or month. Date Lists can be added to a schedule either positively or negatively; a date list can either tell Central to run a task on the specified days, or not run a task on the specified days. A negatively added date list will overrule all other days in the schedule.
Times are expressed either as one specific time of day, or a range: every X minutes between two times of the day.
For example, specifying "Monday and Tuesday", and "Every 30 minutes between 3:00PM and 4:00PM" means that the task will run every Monday at 3:00PM, 3:30PM, and 4:00PM, and every Tuesday at 3:00PM, 3:30PM, and 4:00PM.
If you want a task to run at two dissimilar times, for example, Mondays at 8:00AM and Thursdays at 11:00AM, two separate schedules will be required, one for each day.
In addition to the time-of-day settings, schedules may contain these options:
Although the scheduler will not run a task if a copy of the task is already running, it is possible to run multiple simultaneous copies of a task outside the scheduler. A second or subsequent instance of a task can be run in these cases: