Task Object
Hybrik workflows are made up of tasks. Each task is defined in the Elements array, and the tasks are connected by the Connections array.
Name | Type | Description |
---|---|---|
name | string | Optional. A name for the task. This will be displayed in the Task window. It does not have to be unique, but it helps to search for specific tasks when they are given unique names. If left blank, Hybrik will automatically generate a task name based on the job name. |
tags | array | Optional. A list of job/task tags. Tags are custom strings that are used to match jobs and tasks to specific computing groups. |
retry_method | enum fail retry | Optional. A task can be retried automatically. If this is set to "retry", then the retry object must be defined. default: fail |
retry | object | Defines how many times a retry should be attempted and how many seconds to wait between each attempt. |
flags | object | Optionally flags the job for special types of processing. |
priority | integer | Optional. If undefined, all tasks take on the priority of the parent job. The priority of a task (1 = lowest, 254 = highest) |
comment | string | Optional. The user-defined comment about a task. This is only accessible via the API. |
extended | object | Optional. The extended properties for a task. |
Task Object Example
{
"uid": "transcode_task",
"kind": "transcode",
"task": {
"retry_method": "fail",
"name": "Test Transcode For Distribution",
"priority": 200
},
"payload": {
/* transcode payload goes here */
}
}
Retry Object
Name | Type | Description |
---|---|---|
count | integer | Maximum number of retries.maximum: 5 |
delay_sec | integer | Optional. Number of seconds to wait after a failure until a retry is attempted.maximum: 3600 default: 45 |
Retry Object Example
{
"task": {
"retry_method": "retry",
"retry": {
"count": 2,
"delay_sec": 30
}
}
}
Flags Object
Name | Type | Description |
---|---|---|
split_task | enum disabled smart aggressive | Tasks with multiple output targets can be split across multiple machines. "Aggressive" will assign one target per machine. "Smart" will group outputs to achieve roughly equal processing time across targets. The default is "disabled", which will assign all targets to one machine. |
split_task_max_machines | integer | The maximum number of machines to split tasks across. |
skip_validation | boolean | This will disable job JSON validation at execution time. Used for very low latency operation. Default is "false". |
Flags Object Example
{
"task": {
"flags": {
"split_task": "smart"
}
}
}