0
votes

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.