3.3.3 Concurrent execution and schedule option
Concurrent execution and schedule options are provided as means for determining the JP1/AJS3 behavior if a process does not terminate before the next process starts. You can enable or disable concurrent execution, and set a schedule option, separately for each root jobnet.
- Organization of this subsection
(1) Concurrent execution
Concurrent execution means running multiple instances of the same jobnet at the same time. You can enable or disable concurrent execution separately for each root jobnet. When concurrent execution is enabled, each instance can start on time even if the preceding instance has not terminated. Concurrent execution applies only when you select Multi-schedule as the Schedule option, as described below.
By enabling concurrent execution for a jobnet that has a start condition, you can run the jobnet every time the start condition is satisfied, even if earlier executions are still running. For details on start conditions, see 3.4 Defining a start condition.
(2) Schedule option
Schedule options are used to determine how to handle the next execution of a jobnet if execution of the jobnet has not terminated yet when the next execution time arrives and passes.
-
The Schedule skip option skips execution of any jobnet whose previous run is still being processed at the start time of the next run, and instead schedules a jobnet whose previous run is already finished by the start time of the next run. A jobnet whose execution was skipped, because the previous run did not finish before the start time of the jobnet, is placed in the Skipped so not exe. status.
Note that skipping of a jobnet occurs only when the previous run was started by an execution schedule. Jobnets are not skipped when the previous run was started by a rerun operation. In this case, the execution schedule, which was not skipped, is executed in accordance with the settings for concurrent executions.
-
When Multi-schedule is selected, jobnet scheduling differs depending on whether concurrent execution is enabled or disabled. If you enable concurrent execution, the next run of a jobnet will be executed at the scheduled time without waiting for completion of the previous run. If you disable concurrent execution, the next run will not be executed until the previous run finishes processing.
The following figure shows how the system handles the next run of a jobnet when Schedule skip and Multi-schedule are selected.
|
When a jobnet is registered for planned execution, the time of the next execution is finalized at the start time of the previous execution. The second and subsequent executions are treated as dummy runs and are not actually scheduled. Therefore, if concurrent execution is disabled and Multi-schedule is selected, a jobnet registered for planned execution will be handled as follows when two or more runs of the jobnet are due to start during execution of the previous run. For details about registration for planned execution and dummy schedules, see 4. Executing an Application.
|
The system schedules the jobnet for 8/2 when the jobnet scheduled for 8:00 on 8/1 has started execution. Because Multi-schedule is set and concurrent execution is disabled, the 8/2 jobnet does not start until the 8/1 jobnet has completed. Similarly, the execution schedule (dummy run) set for 8:00 on 8/3 should be scheduled when the 8/2 jobnet starts execution, but because the 8/1 jobnet does not complete until after 8:00 on 8/3, this dummy run is effectively skipped.
- Cautionary note
-
If you have set concurrent execution and specified Multi-schedule, and the previous execution schedule has not yet started, the next execution schedule does not start when its execution time arrives. The next execution schedule starts only after the previous execution schedule has started.
- Supplementary note
-
You can also set Concurrent exec. and Schedule option for a root jobnet in a planning group.