是否确认了芹菜中的预取任务



我有以下设置:

  • RabbitMQ broker + Django
  • 芹菜CELERYD_PREFETCH_MULTIPLIER=32(我有很多小任务因此,从性能的角度来看,预取它们很有意义(
  • CELERY_ACKS_LATE=假(任务不是幂等的(

我在 docker 容器中运行芹菜,所以当我重建 docker 芹菜时,工作人员不会优雅地关闭。这没关系,如果没有确认任务,因为一旦工人在新的 docker 容器中再次启动,代理就会将它们发回,但在其他情况下,它们 - 将丢失。

在花卉管理面板中,预取的任务已收到状态。

我仔细阅读了官方文档和相关问题,直觉上我觉得我的设置中的预取任务得到了认可。是这样吗?

CELERY_ACKS_LATE=False一旦 worker 开始执行任务,任务就会被确认:就在执行之前。

因此,如果一个工人开始执行一个任务,而你杀死了它,任务就会丢失。其他预取任务不会丢失,因为它们仍未得到确认。

最新更新