Task groups¶
New in version 4.4.
Task groups can be used to control the transcoders that a specific job should use. It may be expanded in the future to include not only jobs and transcoders, but also other types of tasks and resources.
- A task group identifies a set of jobs and the resources available to those jobs.
- Jobs are identified by a criteria on the group.
- A job can belong to multiple groups, but only a single group for each type of resource. If a job satisfies the criteria on multiple groups, then the job belongs to the group with the highest priority.
- A transcoder can belong to any number of groups.
- A job will only use resources from the group(s) that it belongs to.
Creating a task group¶
Task groups are referred to by name. Each group should specify a job criteria and a number of transcoders, and a priority if needed.
PUT /task-group/imports
Content-Type: application/xml
<TaskGroupDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<job>
<type>PLACEHOLDER_IMPORT</type>
</job>
<transcoder>
<id>VX-1</id>
</transcoder>
<transcoder>
<id>VX-2</id>
</transcoder>
<priority>MEDIUM</priority>
</TaskGroupDocument>
Task group criteria¶
Task groups can have multiple criteria. A job must then satisfy them all to be considered being part of that group. The selections in a criteria form a logical OR.
For example, to restrict jobs that are either imports or exports, and from the admin or bulk-import user, to transcoder VX-1:
<TaskGroupDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<job>
<type>PLACEHOLDER_IMPORT</type>
<type>EXPORT</type>
</job>
<job>
<user>admin</user>
<user>bulk-import</user>
</job>
<transcoder>
<id>VX-1</id>
</transcoder>
</TaskGroupDocument>
This is evaluated as:
(type:PLACEHOLDER_IMPORT OR type:EXPORT)
AND
(user:admin OR user:bulk-import)
Job criteria¶
Jobs can be matched on:
- Priority - To include jobs with a certain priority.
- Type - To include jobs of a certain type.
- User - To include jobs created by a specific user.
- Group - To include jobs created by a user in a specific group.
- Data - To include jobs with certain data.
Task group priority¶
A job will use resources from the task group with the highest priority and a matching criteria. If two task groups have the same priority then the groups are ordered by name in alphabetical order, and the first one is picked.
Job problems¶
If a job cannot run because the transcoders available to it are offline, then a transcoder offline problem will be created. The problem will contain the name of the group and the job id(s).
This allows you to see which group/transcoder(s) a job is blocked on. For example:
GET /job/problem
<JobProblemListDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<problem>
<id>35113</id>
<type>TranscoderOffline</type>
<job>VX-115770</job>
<data>
<key>taskGroup</key>
<value>imports</value>
</data>
</problem>
</JobProblemListDocument>