When the first interval monitor that uses asynchronous processing is started, the master monitor starts a job for the interval master monitor. The interval master monitor controls all monitoring for monitor objects that are classified as asynchronous interval monitors by maintaining a time counter and submitting jobs. If the interval master monitor ends abnormally, the master monitor is notified. The master monitor resubmits the job for the interval master monitor. If the interval master monitor ends or restarts, the time counter is reset to 0 at the time the interval master monitor starts and jobs are submitted based on this value.
The interval master monitor maintains a list of interval monitors using asynchronous processing that have an active status. The interval master monitor checks for monitors that should be ended and removes them from the list. The interval master monitor determines the minimum amount of time to wait for each active monitor before submitting a separate job to run the condition and event programs specified for the monitor. If the condition is met, the event program specified for the monitor is run. The job tracks the status of the programs and updates the status for the monitor. If the job ends abnormally, the interval master monitor is notified. The interval master monitor determines if the job needs to be restarted. The interval master monitor receives notification of user requests to start or end an asynchronous interval monitor. Based on the result of the previous run of a monitor, the interval master monitor determines if the monitor should be run for subsequent intervals or if it should be ended.