I have following setup:
I run celery in docker container, so when I rebuild docker celery workers are not gracefully shut down. This is ok, if tasks are not acknowledged as broker will sent them back once workers be up again in new docker container, but in other case they - will be lost.
In flower admin panel prefetched tasks have status received.
I had carefully read official documentation and related question and intuitively I feel that prefetched tasks in my setup are acknowledged. Is it so?
With CELERY_ACKS_LATE=False
task will be acknowledged as soon as worker starts to execute it: just before execution.
So if a worker starts to execute a task and you kill it task will be lost. Other prefetched tasks won't be lost because they are still unacknowledged.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With