мы используем django 1.10, celery 4.1.0
Я заметил, что при отправке параметра 'autoretry_for' в качестве параметра задания и 'retry_policy' для apply_async () политика повтора полностью игнорируется.вместо этого он использует 'default_retry_delay' и максимальную повторную попытку по умолчанию, которая равна 3.
, например: настройки задания:
'default': {
'soft_time_limit': 10,
'default_retry_delay': 10,
'autoretry_for': ('billiard.exceptions.SoftTimeLimitExceeded',
'app.utils.exceptions.FlowInternalServerErrorException',),
'on_retry': 'app.tasks.common_tasks.on_task_retry',
'celery_countdown': 0,
'expires': 86400,
'retry': True,
'retry_policy': {
'max_retries': 1,
'interval_start': 0,
'interval_step': 0.2,
'interval_max': 0.2,
},
, когда задача выполняется и она получает исключение FlowInternalServerErrorException'как в' autoretry_for ', он будет игнорировать настройку' retry_policy 'и будет использовать 3 максимальных повторных попытки и 10 секунд между повторными попытками.
Есть ли способ использовать 'retry_policy' при столкновении с одним из исключений 'autoretry_for'?
Спасибо