如果我安排任务供芹菜执行每一分钟,并且无法及时完成



如果我安排每分钟的任务,并且如果无法在时间内完成(一分钟)。任务会等待队列吗?如果发生这种情况,则几个小时后将被超载。是否有解决此类问题的解决方案?

我正在使用节拍和工人组合。较少的记录执行任务是正常工作的。但是对于大型数据库,我认为这可能会导致问题。

任务已分配给队列(例如兔子)。

工人是排队消费者,更多的工人(或同时发生的工人) - 可以并行处理更多的任务。

您的定期任务会产生相同类型的消息(我想),而您的芹菜路由器将它们路由到同一队列。只需将您的工人设置为消费该队列的消息,仅此而已。

celery worker -A celeryapp:app -l info -Q default -c 4 -n default_worker@%h -Ofair

在上面的示例中,我使用了-c 4的四个(式为4个消费者/工人)的并发。您还可以开始移动工人,并让他们用-Q <queue_name>从同一队列中消耗(在我的示例中是default队列)。

编辑:使用芹菜(工作代码)时,您是启动Celery对象。在Celery构造函数中,您正在设置brokerbackend(芹菜用作系统的一部分)有关更多信息:http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#application

相关内容

  • 没有找到相关文章

最新更新