Skip to main content

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.

NameTypeDescription
namestringOptional. 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.
tagsarrayOptional. A list of job/task tags. Tags are custom strings that are used to match jobs and tasks to specific computing groups.
retry_methodenum             
fail
retry
Optional. A task can be retried automatically. If this is set to "retry", then the retry object must be defined.
default: fail
retryobjectDefines how many times a retry should be attempted and how many seconds to wait between each attempt.
flagsobjectOptionally flags the job for special types of processing.
priorityintegerOptional. If undefined, all tasks take on the priority of the parent job. The priority of a task (1 = lowest, 254 = highest)
commentstringOptional. The user-defined comment about a task. This is only accessible via the API.
extendedobjectOptional. 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

NameTypeDescription
countintegerMaximum number of retries.
maximum: 5
delay_secintegerOptional. 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

NameTypeDescription
split_taskenum             
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_machinesintegerThe maximum number of machines to split tasks across.
skip_validationbooleanThis 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"
}
}
}