I have 3 celery workers. I do 2 steps below:
- Step 1: I send the long-running task to celery, worker_1 received it.
- Step 2: I tried to reproduce worker crash event by killing worker_1 process. After that, worker_2 took over worker_1's task as my expectation.
But exactly 30 minutes later, worker_3 still gets the task that worker_2 is processing. I tried several times but still facing the same problem.
My celery configuration:
broker_url = "amqp://user:password@localhost:5672/vhost"
result_backend = "db+mysql://user:password@localhost:3306/celery_db"
task_acks_late = True
task_reject_on_worker_lost = True
task_track_started = True
worker_prefetch_multiplier = 1
Please let me know if i need to provide other details.