Summary

The "Skip if already running" option allows the Scheduler to bypass the scheduled execution of a program if that program is already running. When this option is selected, the Scheduler may make two checks to determine whether the program is running.

  1. First, the Scheduler checks to see whether  the same job (i.e., program item in the Schedule Administrator) is already running. For example, you have an item called "Job A" in the Schedule Administrator that runs "processa.exe." At 2:15 the Scheduler is supposed to run "Job A". The Scheduler checks and determines that "Job A" is still running from the last time the Scheduler started it. The program is therefore not started again.
  2. If the job is not already running, the Scheduler may check to see whether the process is already running. For example, at 3:15 the Scheduler is supposed to run "Job A" again. The Scheduler determines that "Job A" is not already running. The Scheduler then checks to see if "processa.exe" is already running. If the Scheduler determines that "processa.exe" is still running, it will not be started again. 

Note that it does not matter whether "processa.exe" was started by the Scheduler or outside of it--if it is running, the Scheduler will detect it. For example, if you manually started "processa.exe" at 3:10 and it is still running, the Scheduler will not start it again.

Enabling Check Number 2

In versions of the Scheduler prior to 2.2.1, check 2 described above is always performed. Beginning with version 2.2.1, this check is not performed by default. To enable this check you must set a configuration option in the Registry. For information on this, see the "Registry Parameters" topic in the "Scheduler Service" book in the online help.

Batch Files and 16-Bit Applications

If the "process" being run by a job is a 16-bit application or a batch file, check number 2 described above will not detect that the process is already running (see the "More Information" section of article I02000016 for an explanation of this.) The "Skip if already running" option therefore will only work properly if the job is already running. If the batch file or 16-bit application is already running because of another job, or was started outside of the Scheduler, it will not be skipped.