1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-09-21 14:02:05 +00:00
nf-configs/conf/cbe.config
phue f5c36dde3e cbe: send SIGUSR2 upon job termination
Previously, if a process hit the walltime limit and received SIGKILL
from the slurm scheduler, singularity did not properly propagate such
(soft) kill signal. This prevented the exit code to be caught, e.g for
resubmission purposes.

This commit introduces a workaround using slurms --signal directive
to send SIGUSR2 to the singularity process itself (instead of
container child processes, which presumably was happening before).
Effectively, once a job reaches walltime limit, this will result in
exitcode 140 which is typically caught by the errorStrategy in nf-core
pipelines

See also:
https://slurm.schedmd.com/sbatch.html#OPT_signal
https://github.com/nextflow-io/nextflow/issues/2163
https://github.com/nextflow-io/nextflow/issues/1561
2021-06-16 16:36:39 +02:00

25 lines
770 B
Text
Executable file

//Profile config names for nf-core/configs
params {
config_profile_description = 'CLIP BATCH ENVIRONMENT (CBE) cluster profile provided by nf-core/configs'
config_profile_contact = 'Patrick Hüther (@phue)'
config_profile_url = 'https://clip.science'
}
process {
executor = 'slurm'
queue = { task.memory <= 170.GB ? 'c' : 'm' }
clusterOptions = { def qos = task.time <= 1.h ? '--qos rapid' : { task.time <= 8.h ? '--qos short': { task.time <= 48.h ? '--qos medium' : '--qos long' } }; qos << ' --signal B:USR2' }
module = 'anaconda3/2019.10'
}
singularity {
enabled = true
cacheDir = '/resources/containers'
}
params {
params.max_time = 14.d
params.max_cpus = 36
params.max_memory = 4.TB
igenomes_base = '/resources/references/igenomes'
}