Snakemake无法识别由于超时而导致的作业失败,错误代码为-11

问题描述

有人在识别超时工作时遇到问题吗?我使用qsub将作业提交到群集,并按规则设置了超时:

snakemake --jobs 29 -k -p --latency-wait 60 --use-envmodules \
--cluster "qsub -l walltime={resources.walltime},nodes=1:ppn={threads},mem={resources.mem_mb}mb"

如果作业在脚本内失败,则将执行下一行。但是,当作业达到规则中定义的超时时,将不执行下一个作业,从而减少了群集上随时间并行运行的作业总数。根据MOAB调度程序(PBS服务器),超时的作业引发-11退出状态。据我了解,任何non-zero exit状态都表示失败-还是仅适用于正整数?!

在此先感谢您的提示:)

解决方法

如果不提供--cluster-status脚本,snakemake在内部通过触摸提交的作业脚本中的一些隐藏文件来检查作业状态。当工作超时时,snakemake(在节点上)没有机会向主要的蛇形实例报告故障,因为qsub会杀死它。

您可以尝试使用cluster profile或只是获取合适的cluster status文件(请确保将其chmod修改为exe并让qsub报告可解析的作业ID)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...