优雅处理从属计划任务?

时间:2008-10-07 15:42:45

标签: dependencies scheduled-tasks

说我有两个预定的流程:A和B.

鉴于B在A完成之前不应该运行,我怎么能优雅地强制执行这种依赖?

已考虑的方法:

  1. 完成后有一个时间表B.如果出于某种原因A失败,那么B的缺点就是永远不会被安排。

  2. 当B运行时,请ping A以查看后者是否已完成。如何实现这一目标(网络,文件,数据库记录,消息队列)可能会引入第三种依赖性而引起混乱和问题。

  3. 将A和B合并为一个进程。这有两个紧密绑定的缺点,如果需要,更难以单独重新运行其中一个。

  4. 思想?

2 个答案:

答案 0 :(得分:2)

您的选项1直接回答您的问题:如果B依赖于A,而A失败,则A不安排B意味着B不会发生。

除非B必须在A之后运行,否则A是否成功。

在这种情况下,类似下面的内容(在bash中)会起作用:

A && B

答案 1 :(得分:1)

您可以修改第3步:创建两个进程以隔离运行,然后创建运行其他两个进程的第三个进程。

相关问题