Scope
- JobScheduler now supports event handling using in- and out-conditions for the jobs. see - JOC-712Getting issue details... STATUS
- The support for the conditions feature fills the gap of having a backward dependency in the JobScheduler.
- The conditions for the jobs with the branch 1.13.0 includes a number of gaps:
- In-condition
- A job can have a condition, which executes the job automatically if the condition of the job becomes true.
- Out-condition
- A job can have a condition, which adds or delete an event if the job execution results in making the expression for the condition to true.
- Graphical representation:
- The graphical representation is available with JOC Cockpit to manage/edit the expression for the condition.
- In-condition
- This documentation covers the new feature to create Job Streams with a backward dependency. It includes, how we can implement different in-conditions and out-conditions.
The user should:
Know the technical terms like what is Job, Event and Job Chain, etc. and working of the JobScheduler and JOC Cockpit.
- Not start with this article if he/she is new to the JobScheduler.
- Have the basic knowledge on how to create the jobs.
Motivation
- What is this feature good for?
- The end users can implement backward dependency for jobs using in-conditions, out-conditions, write the expressions and can add or remove events.
- This feature allows graphical configuration of job dependencies.
- What problem does it solve?
- This feature was developed to add better backward dependencies to JobScheduler.
- Backward dependencies: The JobScheduler comes with a number of solutions to support backward dependencies for jobs and job chains.
- Check the job and job chain history for previously executed jobs and orders.
- Synchronize job chains.
- Job Streams.
- Forward dependencies: The JobScheduler comes with built-in features for implementing forward dependencies for jobs and orders.
- Basic dependencies are implemented by the Objects for the Jobs, Job Chains and Orders.
- Successor jobs can be made to depend on the code returned by the current job.
- Create successor orders for job chains depending on the return code of the current job chain node.
- Backward dependencies: The JobScheduler comes with a number of solutions to support backward dependencies for jobs and job chains.
- This feature was developed to add better backward dependencies to JobScheduler.
- Roadmap
This feature is subject to future improvement:
User can create, start, stop, unstop and add or remove an event on a job from the graphical representation.
add editing capabilities for jobs in order to replace JOE
There will be a new tab named as "Workflow" in the JOC Cockpit which will replace the JOE in the future.
This "Workflow" contains the working and explanation of the Jobs and Job Chains.
User can create a Job by just drag and drop.
Provide export functionality to display (print) job streams in PDF, PNG
Feature Availability
FEATURE AVAILABILITY STARTING FROM RELEASE 1.13.0
Feature
The Job Streams include various feature:
- Jobs
- Are represented in a rectangular shape with a grey background. There is the status of a job in Workflow; each job status is represented with different border color.
- Pending - Yellow
- Running - Green
- Stop - Red
- Are represented in a rectangular shape with a grey background. There is the status of a job in Workflow; each job status is represented with different border color.
Note: The running status of the job is shown by dotted flow line.
User can edit in-conditions and out-conditions on the job.
Out-condition works on True and False expression. The background color is yellow for Out-conditions, and border-color changes according to status.
If the expression result is true, then the border-color becomes green with green text for the expression.
If the expression result is false, then the border-color becomes black with the black text for the expression.
If the expression contains multiple conditions (e.g., contains two expression with and condition), the border-color becomes black with green text for true expression and black text for false expression.
In-conditions work on consumed or not consumed status. The background color for consumed In-conditions is grey (color still in discussion) and orange for not-consumed in-condition. The border-color changes according to the status.
If the condition is consumed with true expression, the border and text color becomes green.
If the condition is consumed with false expression, the border and text color becomes black.
If the condition is not-consumed with true expression, the border and text color becomes green.
If the condition is not-consumed with false expression, the border and text color becomes black.
Events are represented with parallelogram shape. The background color for the event is green.
The circle is a junction, which represents the incoming and outgoing conditions from the job.
improved navigation and display of dependent job streams
Implementation
- How to ...... Articles
- How to edit conditions for job execution in Job Streams?
- How to insert expressions in Job streams?
- How to add event in Job Streams?
- How to remove event in Job Streams?
- How to include the Job Streams feature?
- How to enable the JobScheduler Conditions plugin?
- What is Graphical view and where it is located?
Use Cases
Use Case 1: Implement a simple backward dependency
job1 → job2 → job3 → job4
Use Case 2: Implement split & join
Use Case 3: Implement a job stream across folders
Use Case 4: Use job streams for monitoring
Use Case 5: Use job streams to analyze job execution problems
References
- Links to other articles
- How to split and sync jobs in a job chain
- Links to JIRA