如何使用Celery延迟任务?

e-s*_*tis 7 python django celery

不是在谈论这个delay方法.

我希望能够获得一个任务,给它任务,并在执行之前动态更改它的ETA.

现在我必须取消它,并重新安排一个.如果预定的过程涉及很多东西,那就太麻烦了.

Ric*_*ick 1

您应该在芹菜/任务队列之外存储一些“暂停”值。我通过使用芹菜的邮件程序来完成此操作。我可以通过在 memcache 或 mysql 中设置值来暂停系统的某些部分。然后,任务确保在执行任务之前查询外部资源。如果它要暂停,它会设置它执行一个 task.retry() ,使其经历重试延迟时间等。