每次重新启动Celery时,都会确认所有计划任务

时间:2016-07-14 09:52:23

标签: python django server celery

每次重新启动Celery时,所有计划任务都会再次得到确认。

这导致开始处理新任务的时间滞后很长。

我们如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以在再次启动Celery之前简单地清除所有任务:

$ celery purge
WARNING: This will remove all tasks from queue: celery.
         There is no undo for this operation!

(to skip this prompt use the -f option)

Are you sure you want to delete all tasks (yes/NO)? 

答案 1 :(得分:0)

如果您不想清除等待执行的队列中的任务,即您还希望它们执行,那么显然那些旧任务将在新任务之前执行 ,因为新任务在旧任务之后进入队列,因为它是一个队列,它将遵循先进先出

现在,如果您希望 旧任务执行 ,但 不想等待 对于旧的首先执行,从我所理解的你不想破坏旧的,也不想延迟,那么你可以为任务维护两个或多个单独的队列。 p>

因此,每次重新加载时,您的新任务都将被分配到一个新的队列,这个队列将不再依赖于旧任务。

看到这个 - > How to keep multiple independent celery queues?