Version

    Common Properties of Job Control

    Job Control is a group of components managing various job types - executing, monitoring and optionally aborting 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 a 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 - the 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 a 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 a log file. And finally in case the second output port is not connected, the first unsuccessful job causes a failure of a whole jobflow.

    The 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

    ComponentSame input metadataSorted inputsInputsOutputsJavaCTLAuto-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