Skip to content

Documentation FAQ acks_late vs retry seems contradictory #6178

@caspervdw

Description

@caspervdw

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions