-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Description
Checklist
- I have checked the issues list
for similar or identical bug reports. - I have checked the pull requests list
for existing proposed fixes. - I have checked the commit log
to find out if the bug was already fixed in the master branch. - I have included all related issues and possible duplicate issues in this issue
(If there are none, check this box anyway).
Related Issues and Possible Duplicates
Related Issues
- None
Possible Duplicates
- None
Description
The FAQ section on retry vs acks_late (https://docs.celeryproject.org/en/latest/faq.html#should-i-use-retry-or-acks-late) states that
The acks_late setting would be used when you need the task to be executed again if the worker (for some reason) crashes mid-execution.
While the main docs (https://docs.celeryproject.org/en/stable/userguide/tasks.html#tasks) state:
Note that the worker will acknowledge the message if the child process executing the task is terminated (either by the task calling sys.exit(), or by signal) even when acks_late is enabled.
This seems to be in contradiction. In my own experience, the task is never retried automatically, also not with acks_late=True (so the answer in the FAQ is confusing to me)
Suggestions
I am not expert on all the intricacies of the different workers, but I think the answer in the FAQ should be more precise on what kinds of crashes (and what types workers) will result in an automatic retry when acks_late=True.