Celery is one of the most widely deployed task queue systems in Python. It is also, by default, a system that silently loses approximately 8% of your tasks the moment a worker crashes.

This is not a bug. It is the designed default behaviour. And most teams shipping Celery in production either do not know about it or have accepted it as a cost of doing business.

I built Relier because I was not willing to accept it.

How Celery loses tasks

When a Celery worker picks up a task from the broker, it sends an acknowledgement (ACK) immediately, before the task runs. From the broker's perspective, the task is done. The worker owns it now.