I want to disable prefetching on my celery workers (using RabbitMQ + Redis).
As seen here Understanding celery task prefetching in order to disable prefetching, I need to set:
worker_prefetch_multiplier = 1
acks_late = True
run the worker with -Ofair
I did the following, but because I set acks_late as True, if the worker loses connection (for example SIGKILL), it will requeue the task automatically, which I don't want. I have tried to disable that using this setting, but it seems to have no effect on preventing a requeue.
reject_on_worker_lost = False
Is there a way to disable prefetching without using late_acks, or using late_acks without requeueing automatically?