Нужно выполнять одну и ту же задачу в разных цепочках с различным поведением. Для цепочки
A я хочу ограничивать количество перезапусков, поэтому указываю этот параметр при объявлении самой задачи
@shared_task(bind=True, max_retries=1)
task(args):
pass
Как можно переопределить параметр max_retries при вызове задачи из цепочки B, чтобы задача перезапускалась бесконечно?
chain(task.s(args).set(max_retries=None), task2...)
что-то не работает =(
Почему я думаю, что должно работать?
Метод set позволяет задать опции для задачи, вызываемой через сигнатуру
You can’t define options with s(), but a chaining set call takes care of that (link)
Task.max_retriesThe maximum number of attempted retries before giving up. If the number of retries exceeds this value a MaxRetriesExceededError exception will be raised.
The default is 3. A value of None will disable the retry limit and the task will retry forever until it succeeds.