Skip to content

Tasks

Each task is defined by a tool definition and is the smallest entity to process input.

Definition of a Task consists of a tool specification and relevant parameters:

{
    "tool": "<tool>",
    "parameters": {
        "<param1>": "<value1>",
        "<param2>": "<value2>",
        [...]
    }
}

A complete list of available tools and their parameters is available in Tools section.

Parallel Task Execution

Usually steps in the execution of a job depend on the previous step and will be executed sequentially by default, for example:

  • the 2nd pass of a H.264 encoding is dependent on the 1st pass
  • the processing of a file depends on the download to be completed

But some steps might not be depending on each other and can be executed in parallel such as:

  • the download of a file from source S2 does not depend on the successful download of a file from S1
  • no H.264 2nd pass depends on the result of another 2nd pass

By adding '|p' to a tool name the execution engine will be made aware that the suffixed tool is not depending on the result of the previous tool.

[
    {
        "tool": "do:something"
    },
    {
        "tool": "do:something_else_in_parallel|p"
    }
]