9 A Job Task is a well defined independently-computable portion of a "Job":Job.html.
11 Job tasks are created two ways:
12 * When a job starts, it is seeded with a job task with @sequence=0@ and an empty @parameters{}@ list.
13 * Job task A can create additional job tasks B, C, D, which will belong to the same job. Tasks B, C, D will not be performed until job task A is complete. If job task A fails, tasks B, C, D will be deleted.
15 Job tasks have particular update semantics:
16 * Progress reporting: A job task should only be <code>PATCH</code>ed by a worker process which has been dispatched to work on that task and is reporting progress or completion status — and by the job manager itself.
17 * Completion: When a job task process terminates, the task is considered complete only if its most recent @PATCH@ transaction had @progress=1.0@ and @success=true@.
18 * Temporary failure: If a job task process terminates without updating @success@ to @true@ or @false@, it is assumed that the task failed but is worth re-attempting (at a different time, on a different node, etc).
23 See "job_tasks":{{site.baseurl}}/api/methods/job_tasks.html
27 Each JobTask has, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
29 table(table table-bordered table-condensed).
30 |_. Attribute|_. Type|_. Description|_. Example|
31 |sequence|integer|Execution sequence.
32 A step cannot be run until all steps with lower sequence numbers have completed.
33 Job steps with the same sequence number can be run in any order.||
37 |success|boolean|Is null if the task has neither completed successfully nor failed permanently.||
39 The following attributes should not be updated by anyone other than the job manager:
41 table(table table-bordered table-condensed).
42 |_. Attribute|_. Type|_. Description|_. Notes|
43 |qsequence|integer|Order of arrival|0-based|
45 |created_by_job_task_uuid|string|||