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:
- Improved usability
- User does not require to switch to JOE to create jobs and job chains.
- Every configuration will be possible to perform in this new feature from JOC Cockpit's Workflow.
- 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
- Jobs are represented in a rectangular shape with grey background. There are the status of a job in Workflow; each job status is represented with a different border color.
- 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 job.
- improved navigation and display of dependent job streams
- There will be a new tab named as "Workflow" in the JOC Cockpit which will replace the JOE in future.
- This "Workflow" contains the working and explanation of the Jobs and Job Chains.
- User can create a Job by just drag and drop.
- Improved usability
- Provide export functionality to display (print) job streams in PDF, PNG
- This feature is subject to future improvement:
Feature Availability
FEATURE AVAILABILITY STARTING FROM RELEASE 1.13.0
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 switch to compact view in Job Streams?
- How to switch to detailed view in Job Streams?
- How to start a job execution?
- How to include the Job Streams feature?
- How to enable the JobScheduler 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