Introduction
The JS7 JobScheduler brings its own wording for scheduling objects. Find explanations from the following sections about:
- the wording for objects used with JS7,
- the mapping of terms used with the predecessor product JS1 (branch 1.x).
Terminology for Objects used with JS7
Generic Term | Specific Term | Meaning |
---|---|---|
Job | The smallest unit that be executed on a given machine, for example, from the command line (shell) of the operating system. Jobs are stateless objects, the instance of a Job is called a Task. Jobs are available as Shell Jobs and they can run in a Java Virtual Machine as JVM Jobs, see JS7 - Job Templates. For details see JS7 - Job Instruction. | |
Task | The instance of a Job that is executed. A Job can run in a number of parallel Tasks. | |
Process | The operating system view of a Task. In addition, Tasks can have child Processes. | |
Return Code | A summary term for the Exit Code of a Process and the Return Code provided by Jobs running in a JVM. | |
Exit Code | An Exit Code is returned by a terminating Process. This includes Exit Codes that are returned by shell Jobs. JVM Jobs do not return Exit Codes as their Tasks can be re-used. Instead, JVM Jobs complete with a Return Code. | |
Workflow | A Workflow is started by an Order that passes the Nodes and Instructions included with the Workflow. Any number of Orders can execute the same Workflow in parallel instances running independently of each other. The succession of Instructions in a Workflow implements a Workflow Pattern, for example a Sequence. However, the most simple Workflow Pattern can include execution of a single Job. Frequently used synonyms include the terms Job Net, Job Stream. For details see JS7 - Workflows. | |
Instruction | Instructions implement Workflow Patterns such as Fork/Join, a Sequence etc.. Instructions rule job dependencies, see JS7 - Workflow Instructions. | |
Node | The position of an Instruction, for example, for the execution of a Job in a Workflow. Nodes are assigned labels that allow recognition of steps in a Workflow. | |
Workflow Pattern | A number of Nodes that are implemented by Instructions in a Workflow. Instructions include, for example, execution of a Job or forking execution according to a Workflow Pattern. For details see JS7 - Workflow Patterns. | |
Sequence | A Workflow Pattern that implements sequential execution of Instructions in a Workflow. | |
Order | Orders represent triggers for execution of Workflows.
For details see JS7 - Orders. | |
Timed Order | Such Orders are automatically created by a Schedule that determines when to run the Order and what parameterization to be applied. | |
Ad hoc Order | Such Orders are added by users or from external applications on-the-fly. Schedules are not involved. | |
File Order | An Order that is represented by an incoming file, see JS7 - File Watching. | |
State | Orders are stateful objects that pass a number of State Transitions during their lifetime. States include, for example, being scheduled for later execution, waiting for resources, running, failed, etc. | |
State Transition | Orders are subject to State Transitions when moving from one State to the next. The JS7 implements a Finite-state Machine with non-deterministic transitions that can be considered a Directed Acyclic Graph. State Transitions are signaled by Events. For details see JS7 - Order State Transitions. | |
Event | Events signal State Transitions of Orders. They are used, for example, to automatically update information in the JOC Cockpit GUI about Orders running, waiting, having failed, etc. | |
File Order Source | The scheduling object that defines a source for File Orders, for example, the directory that should be watched for incoming files. For details see JS7 - File Watching. | |
Resource Lock | Resource Locks implement mutual exclusion and can be used to limit parallelism of Jobs. For details see JS7 - Resource Locks. | |
Job Resource | Job Resources are used to propagate variables and to inject environment variables to shell Jobs. They are a flexible means for parameterizing Workflows and Jobs. For details see JS7 - Job Resources. | |
Notice Board | Notice Boards implement job dependencies, for example, to make a Job wait for another Job in a different Workflow. For details see JS7 - Notice Boards. | |
Script Include | Script Includes are re-usable pieces of shell code that can be added to Job scripts. For details see JS7 - Script Includes. | |
Calendar | Calendars determine the days that are are considered by Schedules when creating Orders. For example, a business day Calendar can specify Monday to Friday as possible days for Workflow execution. A Schedule that is assigned this Calendar can further restrict execution to more specific days. For details see JS7 - Calendars. | |
Schedule | Schedules make use of Calendars that specify possible days for Workflow execution. Schedules can create Orders for any days of the assigned Calendar and they can further restrict the days on which Orders are created.:
For details see JS7 - Schedules. |
Terminology for Operations used with JS7
Generic Term | Specific Term | Meaning |
---|---|---|
Deployment | Deploy | Deployment includes forwarding objects to Controllers and Agents that store deployed objects with their respective journal. This applies to objects such as Workflows, Job Resources, Resource Locks etc. For details see JS7 - Deployment. |
Revoke | Users can Revoke a Deployment which forces deletion of the respective scheduling object from Controllers and Agents. | |
Submission | Submit | Submission includes adding Orders to Controllers and Agents. Submitted Orders can be cancelled or suspended.. For details see JS7 - Daily Plan. |
Releasing | Release | Release of objects includes making JS7 - Calendars and JS7 - Schedules available for processing by the Daily Plan. |
Rollout | Rollout | Scheduling objects are rolled out to separate environments, for example for a sequence of dev -> test -> prod environments. For details see JS7 - Rollout of Scheduling Objects. |
Mapping of the Terminology used for Objects with JS1
JS1 Wording | JS7 Wording | Meaning | Mapping |
---|---|---|---|
Job | Job | Jobs in JS1 can be used standalone and in Job Chains. In JS7 any Jobs are used in Workflows, including use of a Workflow with a single Job. | Meaning changed |
Job Chain | Workflow | Any Job Chain is considered a Workflow. In JS1 Job Chains are limited to forward-dependencies, JS7 adds backward-dependencies to Workflows. | Meaning extended |
Order | Order | Order is the summary term for any Order instance, such as Permanent Orders, Ad Hoc Orders, File Orders. This meaning is mapped accordingly to JS1 with the one exception being that Permanent Orders are mapped to Timed Orders and are intended for one-time execution. | Meaning changed |
Order | Schedule | JS1 Orders recalculate the next start time after each execution. JS7 Orders are created for one-time execution only. Instead, JS7 Schedules create individual Orders for any scheduled dates. | Meaning extended |
Schedule | Schedule | JS1 Schedules are common rules for start-times that are applied by a number of Jobs or Orders. JS7 Schedules can create a number of Orders for the same execution date. | Meaning extended |
Task | Task | The instance of a Job that is executed. The meaning of this term is the same for JS1 and JS7. | Meaning unchanged |
Exit Code | Exit Code | JS1 Exit Codes map to JS7 Exit Codes. | Meaning unchanged |
Return Code | Return Code | A summary term for the Exit Code of a process and the Return Code provided by API Jobs. JS1 Return Codes map to JS7 Return Codes. | Meaning unchanged |
File Order | File Order | An Order that is represented by a file. The meaning of this term is the same for JS1 and JS7. | Meaning unchanged |
Node | Node | A Node indicates the position of a Job in a Job Chain. The meaning is extended with JS7 Nodes which, in addition to Jobs, know a number of Instructions that are assigned Nodes. | Meaning extended |
State | Label | JS1 States are assigned the Nodes in a Job Chain. This maps to use of labels with Nodes in JS7 Workflows. | Meaning changed |