08ac010f55657712237a23d0e69553657ece9b9d
[arvados.git] / doc / api / Jobs.textile
1 ---
2 layout: default
3 navsection: api
4 title: "Resource: Jobs"
5 navorder: 10
6 ---
7
8 h1. Jobs
9
10 Applications submit compute jobs when:
11 * Provenance is important, i.e., it is worth recording how the output was produced; or
12 * Computation time is significant; or
13 * The job management features are convenient (failure detection/recovery, regression testing, etc).
14
15 h2. Methods
16
17 See "REST methods for working with Orvos resources":methods.html
18
19 API endpoint base: @https://xyzzy.arvados.org/arvados/v1/jobs@
20
21 h2. Additional parameters for "Create" method
22
23 table(table table-bordered table-condensed).
24 |*Parameter name*|*Type*|*Description*|
25 |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.|
26
27 h2. Resource
28
29 Each job has, in addition to the usual "attributes of Arvados resources":resources.html:
30
31 table(table table-bordered table-condensed).
32 |*Property name*|*Type*|*Description*|*Notes*|
33 |submit_id|string|Unique ID provided by client when job was submitted|Optional. Can be used by client to ensure idempotence|
34 |priority|string|||
35 |resource_limits{}|list|Constraints that must be satisfied by the job/task scheduler in order to run the job.|See below.|
36 |script_name|string|Name of MapReduce script||
37 |script_parameters{}|list|Parameters passed to MapReduce script||
38 |script_version|string|git commit/tree used when running the job|If the job has not started, this can be a tag/branch instead of an unambiguous commit id.|
39 |cancelled_by_client|string|API client ID|Is null if job has not been cancelled|
40 |cancelled_by_user|string|Authenticated user ID|Is null if job has not been cancelled|
41 |cancelled_at|string|When job was cancelled|Is null if job has not been cancelled|
42 |started_at|datetime|When job started running|Is null if job has not [yet] started|
43 |finished_at|datetime|When job finished running|Is null if job has not [yet] finished|
44 |running|boolean|Whether the job is running||
45 |success|boolean|Whether the job indicated successful completion|Is null if job has not finished|
46 |is_locked_by|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.|
47
48 h3. Resource limits
49
50 table(table table-bordered table-condensed).
51 |*Key*|*Type*|*Description*|*Implemented*|
52 |min_nodes|integer||✓|
53 |max_nodes|integer|||
54 |max_tasks_per_node|integer|Maximum simultaneous tasks on a single node|✓|
55 |min_ram_per_task|integer|Minimum real memory (KiB) per task||
56 |min_ram_per_node|integer|Minimum real memory (KiB) per node||