- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我如何启动一堆 SGE(Sun Grid Engine)作业,其中一些作业使用 -hold_jid
选项,但不需要对 qsub
提交的顺序进行巧妙排序。
如果我这样做一切都很好,job2 等待 job1 完成:
qsub job1.sh
qsub -hold_jid job1.sh job2.sh # OK: job2 waits for job1
但是,如果我改为按如下所示的不同顺序提交,job2 会错误地启动而不等待 job1。大概是因为 SGE 看到没有 job1 等待,因为 job1 还没有提交。
qsub -hold_jid job1.sh job2.sh
qsub job1.sh # BAD: job2 does not wait for job1
我尝试了用户保留选项 -h
,然后使用 qalter
释放用户保留,但释放用户保留似乎也释放了 -hold_jid
保持:
qsub -h -hold_jid job1.sh job2.sh
qsub -h job1.sh
qalter -h U job*.sh # BAD: job2 does not wait for job1
构建依赖树并开始从叶级别提交作业将解决我的问题。但是我想避免这种情况。我在 RHEL 6 上使用 Sun Grid Engine 6.2u3。
最佳答案
如果@Vince 是正确的并且 SGE 确实在等待尚未启动的作业,那么实现您的目标的唯一方法是为您的所有作业名称添加一个独特的部分。
如果作业未按正确顺序启动,则使用 jobid 将不起作用,因为您无法猜测 future 作业的 jobid。如果 job1 还没有启动,job2 qsub 执行无法猜测 job1 jobid 等待什么...
例如:
uniqueID=`date "+%Y-%m-%d_%H-%M-%S"`
qsub -N "job2_$uniqueID" -hold_jid "job1_$uniqueID" job2.sh
qsub -N "job1_$uniqueID" job1.sh
这样,无论作业启动顺序如何,作业 2 都会等待作业 1。
关于linux - 在 Sun Grid Engine 上同时启动 -hold_jid 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254422/
当qsub -ing 一项工作我希望一项工作等待执行,直到第一个工作成功。我一直在查看选项 -hold_jid_ad和 -hold_jid这样做,但看不出它们之间的区别。 最佳答案 假设您有工作 A和
我如何启动一堆 SGE(Sun Grid Engine)作业,其中一些作业使用 -hold_jid 选项,但不需要对 qsub 提交的顺序进行巧妙排序。 如果我这样做一切都很好,job2 等待 job
我是一名优秀的程序员,十分优秀!