芹菜 - 倒计时如何工作?

Nik*_*ngh 7 python celery

我想了解提供倒计时 = xx 如何影响任务的调度。根据http://docs.celeryproject.org/en/latest/userguide/calling.html?highlight=countdown#eta-and-countdown,设置倒计时意味着任务至少需要 xx 秒才能执行。

我想知道的是它是如何实现的。当我们为任务提供倒计时值时,是将任务添加到队列中但没有工作人员拿起它,还是工作人员拿起任务但将其执行推迟到至少倒计时值到期?

Krz*_*arz 7

任务由工作人员挑选,但未确认。

这意味着如果电源耗尽,该任务将在稍后由不同的工人重新获取。

任务的 args/kwargs 一直保存在 worker 的内存中,直到它完成,所以请记住这一点,因为你可能会很快用完它,因为有很多倒计时任务和大的 args/kwargs。

  • 这是来自芹菜创造者的[更深入的答案](https://groups.google.com/d/msg/celery-users/uFwPg4b_1M4/78IUGq7tX8gJ)。 (5认同)