2.2.1 Job execution order considerations
After you have given thought to the construction of each job, you then need to consider the execution order (job flow) of the jobs that make up each work task. A chart indicating the desired job flow and hierarchical structure can be a useful tool for defining jobs and jobnets.
The following is an example of job flow creation.
- Organization of this subsection
(1) Work task with only one processing path
The following figure shows an example of creating a job flow for three jobs, Job 1, Job 2, and Job 3, designed to execute in a specific order. This job flow has only one processing path.
(2) Work task with more than one processing path
The following figure shows an example of creating a job flow with more than one processing path.
Here, when Job A is executed, processing diverges into two paths: Job A-Job B-Job C, and Job A-Job D-Job E.
(3) Work task with nested jobnets
You can incorporate a jobnet into a job flow. Examples of using a nested jobnet are shown below.
(a) Nesting a jobnet
The following figure shows an example of incorporating a jobnet into a job flow.
Job A is executed first, followed by the jobs defined in Jobnet 1 when Job A finishes. After Jobnet 1 finishes processing, Job B is executed.
(b) Grouping multiple jobs
It is not advisable to create jobs flows with multiple succeeding jobs. Multiple jobs brought into one jobnet are easier to administer.
The following figure shows an example of grouping multiple jobs in a nested jobnet.
(c) Merging two paths into one
You can use nested jobnets to merge two processing paths into one.
The following figure shows an example of merging the two paths Daily Process 1-Daily Process 2, and Daily Process 1-Monthly Process-Daily Process 2, into a single flow.
Daily Process 1 and Daily Process 2 are executed daily, and Monthly Process is executed only once a month. Because JP1/AJS3 skips jobnets that are not scheduled for execution on that day, you can incorporate all these jobnets into a single path.
(4) Sequencing jobs in different jobnets
In JP1/AJS3, you cannot draw relation lines to sequence jobs that reside in different jobnets.
To sequence jobs that reside in different jobnets, you can:
-
Split the jobnet
-
Integrate the jobnets
-
Use a jobnet connector
-
Use a wait condition
Each method is described below.
(a) Splitting the jobnet
The following figure shows an example of splitting the jobnet.
(b) Integrating the jobnets
The following figure shows an example of integrating the jobnets.
(c) Using jobnet connectors
You can use a jobnet connector to control the execution sequence of different root jobnets. The following figure shows an example of using a jobnet connector.
For details on jobnet connectors, see 2.2.4 Using jobnet connectors to control the order of root jobnet execution.
(d) Using wait conditions
You can use wait conditions to control the execution sequence of units under different jobnets. The following figure shows an example of using a wait condition.
For details on wait conditions, see 2.2.5 Using wait conditions to control the order of unit execution.
(5) Concepts for building jobnet hierarchies
The objectives and advantages of creating jobnet hierarchies are:
-
Jobs and jobnets are easier to monitor.
-
The job or jobnet location is easier to specify when changes are made.
-
By assigning access permissions (JP1 resource groups) at the work task level, you can restrict access by those responsible for other work task groups.
-
An appropriate hierarchical structure will help prevent poor start performance of jobnets and jobs.
- Supplementary notes
-
-
For notes on the number of jobnets and on creating jobnet hierarchies, see 7.1 Notes on the number of root jobnets registered for execution.
-
Monitoring and other operations might be difficult if there are too many levels in the hierarchy. Therefore, we recommend a hierarchy consisting of no more than two or three levels.
-
We recommend the following method of creating a jobnet hierarchy:
-
Establish the highest-level jobnets.
As shown in the following figure, establish the jobnet that is to occupy the highest level in each chosen category.
Figure 2‒10: Example of establishing highest-level jobnets If there is no mutual order among jobnets, you can manage each of them as a highest-level jobnet.
-
If there is an order among the jobnets established in each of the chosen categories, group them into a single jobnet and assign it a hierarchy level.
The following figure shows an example of hierarchization when there is an order among jobnets.
Figure 2‒11: Hierarchization of ordered jobnets -
Establish a jobnet for each processing cycle.
If jobnets are executed in different execution cycles under the same work task, group the jobnets that have the same execution cycle.
The following figure shows an example of grouping jobnets according to their processing cycle.
Figure 2‒12: Example of establishing jobnets by processing cycle Decide rules like those shown in the following table for the jobnets of each processing cycle. We recommend that you include these rules as comments in the definition.
Table 2‒5: Rules when jobnets are grouped by processing cycle Jobnets in each processing cycle
Rule
GROUP1
Group of daily, weekly, monthly, six-monthly, or yearly work tasks that are mutually related
GROUP2
Group of daily work tasks executed in isolation
GROUP3
Group of weekly work tasks executed in isolation
GROUP4
Group of monthly work tasks executed in isolation
GROUP5
Group of six-monthly work tasks executed in isolation
GROUP6
Group of yearly work tasks executed in isolation
GROUP7
Group of irregular work tasks executed in isolation
-
Establish the lowest-level jobnets.
Next, at the lowest level of the jobnets that have been grouped according to their processing cycles, establish jobnets assigned the names listed below. We recommend that you use names consisting of one-byte alphanumeric characters. This will enable command-line execution of jobs and jobnets, and use of regular expressions with JP1/IM's automated action functionality.
xxxxxxDN
xxxxxxWN
xxxxxxMN
xxxxxxHN
xxxxxxYN
xxxxxxRN
- Legend:
-
D: Indicates a jobnet executed in a "daily" cycle.
W: Indicates a jobnet executed in a "weekly" cycle.
M: Indicates a jobnet executed in a "monthly" cycle.
H: Indicates a jobnet executed in a "six-monthly" cycle.
Y: Indicates a jobnet executed in a "yearly" cycle.
R: Indicates a jobnet executed at irregular intervals.
N: Indicates a jobnet.
-
Create jobs.
Finally, create jobs assigned the following names:
xxxxxxDJ
xxxxxxWJ
xxxxxxMJ
xxxxxxHJ
xxxxxxYJ
- Legend:
-
D: Indicates a job executed in a "daily" cycle.
W: Indicates a job executed in a "weekly" cycle.
M: Indicates a job executed in a "monthly" cycle.
H: Indicates a job executed in a "six-monthly" cycle.
Y: Indicates a job executed in a "yearly" cycle.
J: Indicates a job.