Fix admin user setup instructions, add some missing "bundle exec",
[arvados.git] / doc / api / schema / Job.html.textile.liquid
1 ---
2 layout: default
3 navsection: api
4 navmenu: Schema
5 title: Job
6
7 ...
8
9 Applications submit compute jobs when:
10 * Provenance is important, i.e., it is worth recording how the output was produced; or
11 * Computation time is significant; or
12 * The job management features are convenient (failure detection/recovery, regression testing, etc).
13
14 h2. Methods
15
16 See "jobs":{{site.baseurl}}/api/methods/jobs.html
17
18 h2. Resource
19
20 Each job has, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
21
22 table(table table-bordered table-condensed).
23 |_. Attribute|_. Type|_. Description|_. Notes|
24 |script|string|The filename of the job script.|This program will be invoked by Crunch for each job task. It is given as a path to an executable file, relative to the @/crunch_scripts@ directory in the Git tree specified by the _repository_ and _script_version_ attributes.|
25 |script_parameters|hash|The input parameters for the job.|Conventionally, one of the parameters is called @"input"@. Typically, some parameter values are collection UUIDs. Ultimately, though, the significance of parameters is left entirely up to the script itself.|
26 |repository|string|Git repository|Given as the name of a locally hosted git repository.|
27 |script_version|string|Git branch, tag, or commit hash.|Before the job starts, this is the Git branch, tag, or hash supplied by the user.  When the job starts, Arvados updates this field to the full 40-character git hash of the actual commit used by the job.|
28 |cancelled_by_client_uuid|string|API client ID|Is null if job has not been cancelled|
29 |cancelled_by_user_uuid|string|Authenticated user ID|Is null if job has not been cancelled|
30 |cancelled_at|datetime|When job was cancelled|Is null if job has not been cancelled|
31 |started_at|datetime|When job started running|Is null if job has not [yet] started|
32 |finished_at|datetime|When job finished running|Is null if job has not [yet] finished|
33 |running|boolean|Whether the job is running||
34 |success|boolean|Whether the job indicated successful completion|Is null if job has not finished|
35 |is_locked_by_uuid|string|UUID of the user who has locked this job|Is null if job is not locked. The system user locks the job when starting the job, in order to prevent job attributes from being altered.|
36 |log|string|Collection UUID|Is null if the job has not finished. After the job runs, the given collection contains a text file with log messages provided by the @arv-crunch-job@ task scheduler as well as the standard error streams provided by the task processes.|
37 |tasks_summary|hash|Summary of task completion states.|Example: @{"done":0,"running":4,"todo":2,"failed":0}@|
38 |output|string|Collection UUID|Is null if the job has not finished.|
39 |nondeterministic|boolean|The job is expected to produce different results if run more than once.|If true, this job will not be considered as a candidate for automatic re-use when submitting subsequent identical jobs.|
40 |submit_id|string|Unique ID provided by client when job was submitted|Optional. This can be used by a client to make the "jobs.create":{{site.baseurl}}/api/methods/jobs.html#create method idempotent.|
41 |priority|string|||
42 |runtime_constraints|hash|Constraints that must be satisfied by the job/task scheduler in order to run the job.|See below.|
43
44 h3. Runtime constraints
45
46 table(table table-bordered table-condensed).
47 |_. Key|_. Type|_. Description|_. Implemented|
48 |min_nodes|integer||✓|
49 |max_nodes|integer|||
50 |max_tasks_per_node|integer|Maximum simultaneous tasks on a single node|✓|
51 |min_ram_per_task|integer|Minimum real memory (KiB) per task||
52 |min_ram_per_node|integer|Minimum real memory (KiB) per node||