73. Job Control

    Common Properties of Job Control

    Some components are focused on execution and monitoring of various job types. We call this group of components: Job control.

    Job control components are usually tightly bound with jobflow. However, a few of them can be used even in regular Graphs.

    These components allow running Graphs, jobflows and any interpreted scripts. Graphs and jobflows can be monitored and optionally aborted.

    We can distinguish each component of the Job control group according to the task it performs.

    • Barrier waits for results of jobs running in parallel and sends an aggregated result to the output port.

    • Condition routes incoming tokens to one of its output ports based on the result of a specified condition.

    • ExecuteGraph runs graphs with user-specified settings.

    • ExecuteJobflow runs jobflows with user-specified settings.

    • ExecuteWranglerJob runs Wrangler job with user-specified settings.

    • ExecuteScript runs either shell scripts or scripts interpreted by a selected interpreter.

    • Fail aborts a parent job.

    • GetJobInput produces a single record populated by dictionary content.

    • KillGraph aborts specified graphs.

    • KillJobflow aborts specified jobflows.

    • Loop allows repeated execution of a group of components.

    • MonitorGraph watches running graphs.

    • MonitorJobflow watches running jobflows.

    • SetJobOutput sets incoming values to dictionary content.

    • Sleep waits specified time on each incoming token.

    • Success consumes all incoming tokens or records which are considered successful.

    • TokenGather copies incoming tokens from any input port to all output ports.