在SGE中,我们有
qsub -now yes/no <command>
通过"-now yes“可以立即调度作业(如果可能)或者根本不调度作业。我们没有被放入挂起队列中。
如果作业不能立即执行,则通过"-now no“将作业放入挂起队列中。
但在LSF中,我们有等同于bsub的qsub。
在bsub中,如果不能立即执行,我们将被放入挂起队列中。我们没有像qsub中那样的"-now yes“选项。
我们是不是在bsub里写了"qsub -now“?
附言:一种解决方案是,我们可以在运行bsub后检查一段时间(一些秒),看看我们是否按计划运行,然后退出。我在寻找一种更优雅的方式。
发布于 2013-08-08 00:39:14
我用LSF的方式找到了答案。
LSF确实提供了一种在无法调度资源的情况下退出作业的方法。我们有一个环境变量LSF_NIOS_PEND_TIMEOUT(以分钟为单位指定),如果作业仍在挂起队列中,它将退出作业。
env LSF_NIOS_PEND_TIMEOUT=1 bsub -Is -m host /bin/bash来自网络上某个地方的:
LSF_NIOS_PEND_TIMEOUT
语法
LSF_NIOS_PEND_TIMEOUT=minutes
描述
仅适用于交互式批处理作业。
交互式批处理作业可以保持挂起状态的最长时间。
如果定义了该参数,且交互批处理作业挂起的时间超过指定时间,则终止交互批处理作业。
有效值
任何大于零的整数
发布于 2013-03-01 00:37:09
LSF没有同样的功能。您可以使用带有超时的expect。当作业开始时,LSF将输出如下所示的内容。您的expect脚本可以使用<<Starting on。(但这基本上就是你的附言所说的。)
$ bsub -Is -m hostA /bin/bash
Job <7536> is submitted to default queue <interactive>.
<<Waiting for dispatch ...>>
<<Starting on hostA>>
hostA$ 你也许可以使用lsrun。
https://stackoverflow.com/questions/15088536
复制相似问题