Merge branch 'master' into 2257-inequality-conditions
[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
10
11 Applications submit compute jobs when:
12 * Provenance is important, i.e., it is worth recording how the output was produced; or
13 * Computation time is significant; or
14 * The job management features are convenient (failure detection/recovery, regression testing, etc).
15
16 h2. Methods
17
18 See "REST methods for working with Arvados resources":/api/methods.html
19
20 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/jobs@
21
22 h3. Additional parameters for "Create" method
23
24 table(table table-bordered table-condensed).
25 |_. Parameter name|_. Type|_. Description|
26 |allow_duplicate|boolean|If true, a new job is submitted even if an identical job has already been submitted (and has not failed). If false or not supplied, a new job will _not_ be submitted and the existing job will be returned in the API response.|
27
28 h3. Queue
29
30 <pre>
31 GET https://{{ site.arvados_api_host }}/arvados/v1/jobs/queue
32  
33 POST https://{{ site.arvados_api_host }}/arvados/v1/jobs/queue
34 _method=GET
35 where[owner_uuid]=xyzzy-tpzed-a4lcehql0dv2u25
36 </pre>
37
38 &rarr; Job resource list
39
40 This method is equivalent to the "index method":/api/methods.html#index, except that the results are restricted to queued jobs (i.e., jobs that have not yet been started or cancelled) and order defaults to queue priority.
41
42 h2. Resource
43
44 Each job has, in addition to the usual "attributes of Arvados resources":/api/resources.html:
45
46 table(table table-bordered table-condensed).
47 |_. Attribute|_. Type|_. Description|_. Notes|
48 |submit_id|string|Unique ID provided by client when job was submitted|Optional. Can be used by client to ensure idempotence|
49 |priority|string|||
50 |runtime_constraints{}|list|Constraints that must be satisfied by the job/task scheduler in order to run the job.|See below.|
51 |script|string|Name of crunch script in @/crunch_scripts/@||
52 |script_parameters{}|list|Parameters passed to MapReduce script||
53 |script_version|string|git commit/tree used when running the job|This can be submitted as an unambiguous prefix of a commit sha1, "repository:tag", or "repository:branch". Before the job starts, Arvados will resolve it to a full 40-character git commit sha1.|
54 |cancelled_by_client_uuid|string|API client ID|Is null if job has not been cancelled|
55 |cancelled_by_user_uuid|string|Authenticated user ID|Is null if job has not been cancelled|
56 |cancelled_at|datetime|When job was cancelled|Is null if job has not been cancelled|
57 |started_at|datetime|When job started running|Is null if job has not [yet] started|
58 |finished_at|datetime|When job finished running|Is null if job has not [yet] finished|
59 |running|boolean|Whether the job is running||
60 |success|boolean|Whether the job indicated successful completion|Is null if job has not finished|
61 |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.|
62 |log|string|||
63 |tasks_summary|Hash|||
64 |output|string|||
65
66 h3. Runtime constraints
67
68 table(table table-bordered table-condensed).
69 |_. Key|_. Type|_. Description|_. Implemented|
70 |dependencies{}|list|[
71  {
72   "name": "freebayes",
73   "package_type": "git",
74   "origin": "https://github.com/ekg/freebayes.git",
75   "version": "011561f4a96619125d4388b66b2e82b173f3de7a"
76  },
77  ...
78 ]||
79 |min_nodes|integer||&#10003;|
80 |max_nodes|integer|||
81 |max_tasks_per_node|integer|Maximum simultaneous tasks on a single node|&#10003;|
82 |min_ram_per_task|integer|Minimum real memory (KiB) per task||
83 |min_ram_per_node|integer|Minimum real memory (KiB) per node||