【问题标题】:Graceful handling of dependent scheduled tasks?优雅地处理依赖的计划任务?
【发布时间】:2010-09-15 19:11:24
【问题描述】:

假设我有两个预定进程:A 和 B。

鉴于 B 不应该在 A 完成之前运行,我该如何优雅地强制执行这种依赖关系?

已考虑的方法:

  1. 完成后有 A 计划 B。如果由于某种原因 A 失败,这具有 B 永远不会被安排的缺点。

  2. 当 B 运行时,让它 ping A 以查看后者是否已完成。如何实现这一点(网络、文件、数据库记录、消息队列)可能会很混乱,并且引入第三个依赖项会有问题。

  3. 将 A 和 B 合并到一个进程中。这具有将两者紧密结合的缺点,如果需要,很难单独重新运行一个或另一个。

想法?

【问题讨论】:

    标签: dependencies scheduled-tasks


    【解决方案1】:

    您的选项 1 直接回答了您的问题:如果 B 依赖于 A,而 A 失败,则 A 不调度 B 意味着 B 不可能发生。

    除非 B 只需要在 A 之后运行,否则无论 A 是否成功。

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

    A && B
    

    【讨论】:

      【解决方案2】:

      您可以修改第 3 步:创建两个进程以单独运行,然后创建第三个进程来运行另外两个。

      【讨论】:

        猜你喜欢
        • 2016-05-22
        • 2012-09-19
        • 2021-09-11
        • 1970-01-01
        • 1970-01-01
        • 2011-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多