-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprocess_base.config
46 lines (43 loc) · 1008 Bytes
/
process_base.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
process {
memory = { 4.GB * task.attempt }
maxRetries = 2
errorStrategy = { if (task.attempt > process.maxRetries) {
return 'finish'
} else {
sleep(Math.pow(2, task.attempt) * 200 as long) // sleep to allow for transient errors
return 'retry'
} }
maxErrors = '-1'
withLabel: mem_8 {
memory = { 8.GB * task.attempt }
}
withLabel: mem_16 {
memory = { 16.GB * task.attempt }
}
withLabel: mem_24 {
memory = { 24.GB * task.attempt }
}
withLabel: mem_32 {
memory = { 32.GB * task.attempt }
}
withLabel: mem_max {
// max memory for tasks that have failed more than twice for OOM
// set to 2.TB, but will be reduced by process.resourceLimits
memory = {(task.attempt > 2 && task.exitStatus in 137..140) ? 2.TB : 64.GB * task.attempt }
}
withLabel: cpus_2 {
cpus = 2
}
withLabel: cpus_4 {
cpus = 4
}
withLabel: cpus_8 {
cpus = 8
}
withLabel: cpus_12 {
cpus = 12
}
withLabel: cpus_24 {
cpus = 24
}
}