As the subject says, tasks that used to retry until they reach defined "max_retries" count, now sometimes stop doing that after random number of times :/. Sometimes they stop retrying after couple hundred times, sometimes after just few times.
What I noticed is that if I restart "celery beat" process - after some minutes, some tasks, that "were quite" for hours, start retrying again as they should.
Can't pinpoint precisely when it started happening, but it might be after upgrade of Celery, RabbitMQ or Django.
Anybody have an idea why this is happening ?
I'm running:
Django: 1.7.3
RabbitMQ: 3.4.2
celery:3.1.17
kombu:3.0.24
billiard:3.3.0.19
python:2.7.3
py-amqp:1.4.6
Celery settings:
CELERY_ACKS_LATE = True
CELERY_SEND_EVENTS = True
CELERY_TRACK_STARTED = True
CELERY_DISABLE_RATE_LIMITS = True
CELERYD_PREFETCH_MULTIPLIER = 1
CELERY_SEND_TASK_SENT_EVENT = True
Task code looks smth. like this:
class ABCTask(AbortableTask):
ignore_result = False
max_retries = 288*5
def run(self):
try:
[...]
except NoAvailableDevices as e:
try:
self.retry(exc=e)
except MaxRetriesExceededError, e:
[...]
Thanks, Lauris