MOVEit Automation 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 Automation was started. So, in the above example, if MOVEit Automation 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 and Event-Driven Tasks
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 Automation 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 Automation 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 Automation 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.