Introduction
- JS7 has been designed to ensure that jobs available within a workflow are guaranteed a consistent configuration. Jobs are not individual objects that can be modified independently from the workflow in which they occur.
- Reasons for this design include:
- guaranteeing consistency. If jobs could be modified independently of a workflow then there is no guarantee that the modification is compatible for all occurrences of the job, if, for example, job arguments are modified. Such incompatibilities would occur at run-time of a workflow and are hard to anticipate. Instead, with availability of jobs and any related references to objects such as JS7 - Job Resources, JS7 - Resource Locks etc. the workflow configuration is automatically validated to be consistent. Only consistent workflows can be deployed, minimizing the risk of incompatibilities introduced by changes to individual jobs.
- to consider the versioning implemented by a JS7 Controller. The Controller keeps track of active versions of a workflow. An active version is a workflow that has been assigned an order.
- A workflow can be modified and deployed, then orders are assigned for future execution of this workflow version, maybe for a few days ahead.
- If the workflow is modified in between times, then this does not affect the workflow version that has been currently assigned orders. Instead the existing workflow version will unchanged and run with any jobs as previously deployed. The workflow will be dropped automatically later on by the Controller when no more scheduled orders are assigned this workflow version. This guarantees that any scheduled orders and parameterization will work for the workflow version they have been submitted for.
- The modified workflow including its job definitions is deployed as a new workflow version that becomes available in addition to the previous workflow version. Any newly added orders will be added to the latest version of the workflow.
- If workflow modifications are to be applied to orders that have already been scheduled, then such orders can be cancelled (from the original workflow version) and can be re-submitted (to the current workflow version) from the JS7 - Daily Plan.
- The JOC Cockpit offers bulk operations for jobs to leverage modification of a number of jobs across workflows. Based on use of a common job name in a number of workflows, any job properties and job options can be modified in a single operation and applied to any or to selected occurrences of the job.
Bulk Operations
Search for Jobs
Bulk operations start from a JS7 - Inventory Search for workflows that is available with the Search button from the Configuration view:
Explanation:
- Bulk operations for jobs require to specify:
- workflows as the search result object and
- a job name.
- It is recommended the checkbox Exact Match for Job Name is used to limit results to an exact match. Otherwise any jobs with names that include the search term, for example
job1
, are subject to bulk operations.
Select Search Results
The result of the above search operation can look like this:
Explanation:
- Search results are displayed as a list of the workflows which include jobs with the specified name.
- Users can select all hits or can select individual workflows for bulk operations.
- Two bulk operations are offered:
- Propagate Job This operation is used to modify any properties starting from an individual job and to copy all job properties to any occurrences of the job in the selected workflows.
- Update Job This operation is used to modify individual properties and to update modified properties in any occurrences of the job in the selected workflows.
Propagate Job
When using the Propagate Job button from the example above, then in a first step, a list of workflows that include a job with the specified name will be displayed.
The workflow that includes the job to be used as a template for propagation to other occurrences of the job can then be selected from this list:
After selection of the workflow, the job properties and job options are displayed as shown:
Explanation:
- The properties are displayed as given with the job from the selected workflow.
- Any changes to job properties and job options can be applied.
- Hitting the Submit button will cause the current job, including any job properties and job options, to be copied to any occurrences of the job in the selected workflows.
Update Job
When using the Update Job button from the above example then a popup window will appear with the job name as the only property specified.
Explanation:
- The popup window allows specification of individual job properties and job options.
- Any changes performed in the popup window are applied to any occurrences of the job in the selected workflows. Note that individual changes only are applied. For example when modifying the Agent assignment then all jobs will be updated to use this Agent. However, this does not change any job properties except for the Agent assignment.
- If the job name is modified then this change is similarly applied to any occurrences of the job in the selected workflows.