Job stream definition

This topic introduces the job stream definition, that can be managed from the Orchestration CLI and from the Dynamic Workload Console.

A job stream is a set of jobs to be run, together with times, priorities, and other dependencies that define the processing order. Optionally, you can schedule when the job stream runs by specifying run cycles such as calendar, set of dates, or repetition rules. Job streams can be defined in a specific smart workflow folder if you want to organize them by line of business or some other custom category.

You can control the processing of job streams and job in job streams in the following ways:
Triggers
There are two main types of mutually exclusive triggers you can associate to a job stream:
Event groups

Before you can add event groups to your job streams, you need to define at least one event source.

Event groups can contain either a single event or a collection of sequential or unordered events, for which can be specified correlations and timeouts. If you set a correlation among events in an event group, all the received events must have the same value in the specified common fields to satisfy the event group and trigger the launch of the job stream. An event group can contain events from different event sources. All the events within an event group contain the conditions that determine if a matching event is received or not. When an event group is satisfied, the job stream is submitted.
Single event in event group
When an event group contains a single event, the reception of the event submits the job stream, which proceeds to READY status and it is launched.
Multiple events in event group
When an event groups contains multiple events, the job stream is submitted upon the reception of the first event from the event source, and it is set to ADD status. If a timeout time is specified, a job stream in ADD changes status to SUPPR if all the events in the event group are not received by the timeout time. If all the events are received before the timeout, the job stream proceeds to READY status and is launched. If the trigger on timeout option is selected and the timeout time is specified, the job stream is launched if the events in the event groups are not satisfied within the specified timeout.
Note: When defining event conditions, all the relative fields are case insensitive
Plug-in event types
There are five types of plug-in events that can be defined in an event group:
Run cycles
When defining a run cycle, you need to specify the following properties:
Rule
Run cycle rules are based on lists of ordinal numbers, types of days, and common calendar intervals. For example, the first monday of every month. Rule-based run cycles are based on conventional periods, such as calendar months, weeks of the year, and days of the week.
Time restrictions
You can define time restrictions to control the processing of the workflow:
On jobs in job streams and job streams
  • Earliest start time.
  • Latest start time.
  • Deadline.
On job streams
Repeat range
On jobs in job streams
  • Minimum duration
  • Maximum duration
Dependencies
To determine the correct processing order of jobs and job streams, you can define dependencies. A dependency is a condition that must be satisfied before the processing can continue. Dependencies can either be defined on completion of jobs and job streams, or on satisfaction of specific conditions by jobs and job streams.
On completion of jobs and job streams
A job or job stream cannot start until other jobs or job streams have completed or completed successfully.
On satisfaction of specific conditions
You can define conditional dependencies to make a successor job or job stream run only after some conditions are satisfied by the predecessor job or job stream. If such condition is not satisfied, the jobs in the flow do not run and are put in SUPPR status. The behavior of regular dependency is different, because jobs are put in HOLD status until the predecessor is in SUCC status.

A set of dependencies can be grouped into a join dependency. Specify the number of dependencies that must be satisfied to consider the join as fulfilled. Alternatively, you can use the ALL keyword to indicate that all dependencies must be satisfied for the successor job to run.

Dependencies can be of the following type:
Internal dependencies
Dependencies between jobs in the same job stream.
External dependencies
Dependencies that can be between:
  • Job streams.
  • Jobs streams and jobs that belong to other job streams.
  • Jobs that belong to different job streams.
Self-Service Catalog
Self-Service Catalog can be enabled when defining job streams. Users can log in to the Self-Service Catalog interface to start the services linked to the job streams that have Self-Service Catalog enabled. By simply launching a service, mobile users can submit the linked job streams. For information about this feature see Self-Service Catalog.
Jobs
You can add any number of existing jobs to a job stream. You can narrow down your selection by searching either for job name, workstation, or both.
Confirmation required
To control the processing of a job, you can set an option to require confirmation in a job in job stream definition. By setting this option, a job cannot be marked as successful or failed until you provide confirmation.