Max*_*Max 7 python task celery
您能解释一下我必须使用什么:task_reject_on_worker_lost或者task_acks_late它们有何不同吗?当task_acks_late为True时,为什么Celery在异常后不再次运行任务?
在芹菜文档中:
即使启用了task_acks_late,当执行任务的工作进程突然退出时,工作人员也会确认任务
“突然退出”是什么意思?会引发异常吗?
当 Celery 重试任务时,task_acks_late是什么True时候?task_reject_on_worker_lostTrue
小智 9
如果您希望它在异常后重试,您可以将参数传递给装饰器。
@app.task(max_retries=10)
def task(*args, **kwargs):
#stuff
Run Code Online (Sandbox Code Playgroud)
突然退出是指工人被杀,也不例外。如果您使用task_acks_late,那么工作人员将在任务结束时而不是开始时从队列中删除该项目。但是,如果工作进程被终止,即使任务尚未完成,任务仍然会被确认。task_reject_on_worker_lost如果发生上述事件,将重新排队消息,这样您就不会丢失任务。
http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-acks-late
您应该能够毫无问题地使用这两个设置。
| 归档时间: |
|
| 查看次数: |
7990 次 |
| 最近记录: |