Common Properties of Job Control

The Job Control is a group of components managing various job types - executing, monitoring and optionally aborting ETL graphs, jobflows and interpreted scripts. Most of these components are tightly bound with jobflow.

All execution components ExecuteGraph, ExecuteJobflow, ExecuteProfilerJob, ExecuteScript and few other Job Control components have similar approach to job execution management. Each of them has an optional input port.

Each incoming token from this port is interpreted by an execution component and a respective job is started. Default execution settings are specified directly through various component attributes. These default settings can be overridden by values from incoming token - Input mapping attribute specifies the override.

Results of successful jobs are sent to the first output port and unsuccessful job runs are sent to the second output port. Content of these output tokens is defined in Output mapping and Error mapping.

In case no input port is attached, only single job is started with execution settings specified directly in component attributes. In case the first output port is not connected, job results are printed out to log. And finally in case the second output port is not connected, first unsuccessful job causes failure of whole jobflow.

Redirect error output attribute can be used to route all successful and even unsuccessful job results to the first output port - Output mapping is used for all job executions.

Below is an overview of all Job control components:

Table 59.1. Job control Comparison

Component Same input metadata Sorted inputs Inputs Outputs Java CTL Auto-propagated metadata
Barrier
no
no
1-n1-n--
no
Condition-
no
11-2--
yes
ExecuteGraph-
no
0-10-2
no
yes
yes
ExecuteJobflow-
no
0-10-2
no
yes
yes
ExecuteMapReduce
no
no
0-10-2
no
yes
yes
ExecuteProfilerJob-
no
0-10-2
no
yes
yes
ExecuteScript-
no
0-10-2
no
yes
yes
Fail-
no
0-10
no
yes
no
GetJobInput-
no
01
no
yes
no
KillGraph-
no
0-10-1
no
yes
yes
KillJobflow-
no
0-10-1
no
yes
yes
Loop
yes
no
22
no
yes
yes
MonitorGraph-
no
0-10-2
no
yes
yes
MonitorJobflow-
no
0-10-2
no
yes
yes
SetJobOutput-
no
10
no
yes
no
Sleep-
no
11-n
no
yes
yes
Success
no
no
0-n0--
no
TokenGather
no
no
1-n1-n--
yes