Dependencies 优雅地处理相关的计划任务?

Dependencies 优雅地处理相关的计划任务?,dependencies,scheduled-tasks,Dependencies,Scheduled Tasks,假设我有两个预定的进程:A和B 考虑到B在A完成之前不应该运行,我该如何优雅地强制执行此依赖关系 已考虑的方法: 完成后,有一个附表B。如果由于某种原因A失败了,那么B永远不会被安排 当B运行时,让它ping A以查看后者是否已完成。如何实现这一点(网络、文件、数据库记录、消息队列)可能会很混乱,引入第三种依赖关系会带来问题 将A和B组合成一个流程。这样做的缺点是将两者紧密地结合在一起,如果需要的话,很难单独重新运行其中一个 想法?您的选项1直接回答了您的问题:如果B依赖于A,而A失败,A不安排

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

考虑到B在A完成之前不应该运行,我该如何优雅地强制执行此依赖关系

已考虑的方法:

  • 完成后,有一个附表B。如果由于某种原因A失败了,那么B永远不会被安排

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

  • 将A和B组合成一个流程。这样做的缺点是将两者紧密地结合在一起,如果需要的话,很难单独重新运行其中一个


  • 想法?

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

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

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

    A && B
    

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

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

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

    A && B
    

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

    您可以修改步骤3:创建要独立运行的两个进程,然后创建运行其他两个进程的第三个进程