Skip to content

Commit 9288a41

Browse files
author
Kaushik Ghose
committed
Move TimelLimit doc back out of Process and into Tools
1. Remove changelog from Process 2. Since this only apples to CLT and ET, this can't go in Process which also includes Workflow 3. Separate TimeLimit's have been defined for CLT and ET since ET is bundled in Workflow
1 parent 5a0f8cc commit 9288a41

File tree

3 files changed

+54
-34
lines changed

3 files changed

+54
-34
lines changed

CommandLineTool.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ $graph:
8686
* Added `InputParameter.loadContents` field. Use of `loadContents` in
8787
`InputBinding` is deprecated; it is preserved for v1.0 backwards
8888
compatability and will be removed in CWL v2.0.
89-
* [Added](#TimeLimit) `TimeLimit` feature, allowing to set an upper limit on the
90-
execution time of a CommandLineTool or ExpressionTool.
89+
* [Added](#CommandLineToolTimeLimit) `TimeLimit` feature, allows setting
90+
an upper limit on the execution time of a CommandLineTool.
9191
* [Added](#WorkReuse) `WorkReuse` feature, allowing to enable or disable the reuse
9292
behavior for a particular tool or step for implementations that
9393
support reusing output from past work.
@@ -1194,3 +1194,27 @@ $graph:
11941194
"_type": "@vocab"
11951195
inplaceUpdate:
11961196
type: boolean
1197+
1198+
- type: record
1199+
name: CommandLineToolTimeLimit
1200+
extends: ProcessRequirement
1201+
doc: |
1202+
Set an upper limit on the execution time of a CommandLineTool.
1203+
A CommandLineTool whose execution duration exceeds the time
1204+
limit may be preemptively terminated and considered failed.
1205+
May also be used by batch systems to make scheduling decisions.
1206+
The execution duration excludes external operations, such as
1207+
staging of files, pulling a docker image etc, and only counts
1208+
wall-time for the execution of the command line itself.
1209+
fields:
1210+
- name: class
1211+
type: string
1212+
doc: "Always 'TimeLimit'"
1213+
jsonldPredicate:
1214+
"_id": "@type"
1215+
"_type": "@vocab"
1216+
- name: timelimit
1217+
type: [long, string, Expression]
1218+
doc: |
1219+
The time limit, in seconds. A time limit of zero means no
1220+
time limit. Negative time limits are an error.

Process.yml

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,7 @@ $graph:
99

1010
- name: "Common Workflow Language, v1.1.0-dev1"
1111
type: documentation
12-
doc:
13-
- |
14-
## Changelog
15-
16-
* [Added](#TimeLimit) `TimeLimit` feature, allowing to set an upper
17-
limit on the execution time of a process.
18-
19-
- {$include: concepts.md}
12+
doc: {$include: concepts.md}
2013

2114
- $import: "salad/schema_salad/metaschema/metaschema_base.yml"
2215

@@ -961,25 +954,3 @@ $graph:
961954
loadListing:
962955
type: LoadListingEnum?
963956
jsonldPredicate: "cwl:loadListing"
964-
965-
966-
- type: record
967-
name: TimeLimit
968-
extends: ProcessRequirement
969-
doc: |
970-
Set an upper limit on the execution time of a process.
971-
A process whose execution duration exceeds the time limit may be
972-
preemptively terminated and considered failed. May also be
973-
used by batch systems to make scheduling decisions.
974-
fields:
975-
- name: class
976-
type: string
977-
doc: "Always 'TimeLimit'"
978-
jsonldPredicate:
979-
"_id": "@type"
980-
"_type": "@vocab"
981-
- name: timelimit
982-
type: [long, string, Expression]
983-
doc: |
984-
The time limit, in seconds. A time limit of zero means no
985-
time limit. Negative time limits are an error.

Workflow.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ $graph:
7777
* `secondaryFiles` can now be explicitly marked as `required` or not.
7878
* Add note that undefined details related to execution are left open to
7979
the platform.
80-
* [Added](#TimeLimit) `TimeLimit` feature, allowing to set an upper limit on the
81-
execution time of a CommandLineTool or ExpressionTool.
80+
* [Added](#ExpressionToolTimeLimit) `TimeLimit` feature, allows setting
81+
of an upper limit on the execution time of an ExpressionTool.
8282
* [Added](#WorkReuse) `WorkReuse` feature, allowing to enable or disable the reuse
8383
behavior for a particular tool or step for implementations that
8484
support reusing output from past work.
@@ -168,6 +168,31 @@ $graph:
168168
jsonldPredicate: "cwl:inputBinding"
169169

170170

171+
- type: record
172+
name: ExpressionToolTimeLimit
173+
extends: ProcessRequirement
174+
doc: |
175+
Set an upper limit on the execution time of an ExpressionTool.
176+
A ExpressionTool whose execution duration exceeds the time
177+
limit may be preemptively terminated and considered failed.
178+
May also be used by batch systems to make scheduling decisions.
179+
The execution duration excludes external operations, such as
180+
staging of files etc, and only counts wall-time for the
181+
evaluation of the expression itself.
182+
fields:
183+
- name: class
184+
type: string
185+
doc: "Always 'TimeLimit'"
186+
jsonldPredicate:
187+
"_id": "@type"
188+
"_type": "@vocab"
189+
- name: timelimit
190+
type: [long, string, Expression]
191+
doc: |
192+
The time limit, in seconds. A time limit of zero means no
193+
time limit. Negative time limits are an error.
194+
195+
171196
- type: record
172197
name: ExpressionTool
173198
extends: Process

0 commit comments

Comments
 (0)