mirror of
https://github.com/MillironX/nf-configs.git
synced 2024-09-21 14:02:05 +00:00
f5c36dde3e
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
25 lines
770 B
Text
Executable file
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'
|
|
}
|