【发布时间】:2012-08-17 13:30:18
【问题描述】:
我有一个 celery 任务,它进行子进程调用,只能在系统范围内并行运行。虽然我想出了一个更好的解决方案,但我需要能够执行在单个工作人员上串行运行的任务。
我知道我可以创建一个表来跟踪当前正在运行任务的服务器,并等待它完成,然后再运行未来的任务,但似乎必须有更好的方法。我已经非常广泛地查看了 celery 文档,并简要地查看了 rabbitmq 文档,但无济于事。
有没有人想出一个优雅的解决方案来解决这个问题,并与上述技术的一些隐藏特性挂钩?
【问题讨论】:
-
你能澄清一下你的设置吗?您有多个服务器,每个服务器运行一个 celery worker,但您不希望它们并行执行 - 对吗?你只有一个 rabbitmq 服务器在运行吗?
-
@dgel:一台rabbitmq服务器,有多个worker。
标签: django rabbitmq celery django-celery