我们的部署过程使用kill对进程列表中的所有celery进程重启celery。
有时我会在芹菜原木中看到“工人丢失”。如果在发生这种情况时任务正在运行,那么任务是重新运行还是会丢失?我们正在使用redis。
答案 0 :(得分:3)
基本上,您应该将SIGTERM发送给每个芹菜工人。 http://docs.celeryproject.org/en/latest/userguide/workers.html#stopping-the-worker。
如果要终止进程并重新启动任务,可以设置ACK_LATE设置,如果worker无法成功完成任务并停止,将返回任务返回查询。 http://docs.celeryproject.org/en/latest/configuration.html?highlight=acks_late#celery-acks-late