【问题标题】:How to collapse and successively run tasks-antagonists in Celery如何在 Celery 中折叠并连续运行任务 - 对抗者
【发布时间】:2013-12-12 11:05:58
【问题描述】:

我在 Celery 中有任务 A 和 B。 B 是 A 的对手。因此,当这个任务以相同的参数并行运行时,系统变得不一致。有两个问题:

  1. 我能否始终根据参数连续运行任务 A 和 B?我想连续运行参数 1 的 A 和参数 1 的 B,但是 A(1) 和 B(2) 可以并行运行。

  2. 有没有办法折叠尚未运行的重复任务序列?比如说,我在代理中有 ABABAB 任务(在我的例子中是 Redis),我可以执行 AB 吗?

我倾向于认为这两个问题都可以通过高级代理解决,但我想避免部署 RabbitMQ。

提前致谢。

【问题讨论】:

    标签: celery message-queue job-queue


    【解决方案1】:

    我决定在 Redis 中为任务维护单独的队列。当我向 Celery 发送新任务时,我还将它添加到 Redis 列表中。当任务运行时,它决定它必须做什么:A 或 B 取决于当前系统状态。

    解决方案看起来不太好,但我希望不会造成问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-30
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 2020-04-07
      相关资源
      最近更新 更多