微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。