【问题标题】:Gearman callback with nested jobs带有嵌套作业的 Gearman 回调
【发布时间】:2014-06-20 18:52:57
【问题描述】:

我有一个正在运行的 Gearman 作业,它本身会执行更多作业,而反过来可能会执行更多作业。当所有嵌套作业完成后,我想要某种回调。我可以轻松做到这一点,但我的实现会占用工人(旋转直到孩子完成),这是我不想做的。

有解决方法吗? Gearman AFAIK 中没有“组”的概念,因此我无法将作业添加到组并在该组完成后触发。

【问题讨论】:

    标签: gearman


    【解决方案1】:

    正如你所说,Gearman 没有内置任何东西来处理这个问题。如果您不想捆绑工作人员(并让该工作人员为您添加任务并跟踪其完成情况),则必须进行带外状态跟踪。

    一种方法是在 memcached 中保留组标识符,并在任务完成时增加已完成子任务的数量,并在为同一组添加新任务时增加总任务数。然后,您可以轮询 memcached 以查看当前执行状态(已完成任务与总任务)。

    【讨论】:

    • 这大致就是我最终所做的。工作正常,但有时难以调试。
    猜你喜欢
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2019-11-13
    • 2011-08-05
    • 2019-07-25
    相关资源
    最近更新 更多