问题描述
有人在识别超时工作时遇到问题吗?我使用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)。