В соответствии с этим вопросом проблема решена, но похоже, что это не так. Setting Time Limit on specific task with celeryНастройка атрибутов сельдерея Задачи (i.e time_limit и soft_time_limit) не работают
Текущая версия сельдерея 3.1.18 (Cipater).
Я пытаюсь перезаписать настройки по умолчанию для задачи. Цель состоит в том, чтобы изменить softtimelimit и жесткий временной предел задачи, потому что одна и та же задача используется для нескольких целей.
Передача soft_time_limit и time_limit конструктору MyTask для изменения настроек по умолчанию.
///celery/app/ task.py
class MyTask(task.Task):
time_limit = 100
soft_time_limit = 110
max_retries = 0
def __init__(self, time_limit=None, soft_time_limit=None,
max_retries=None, *args, **kwargs):
if time_limit:
self.time_limit = time_limit
if soft_time_limit:
self.soft_time_limit = soft_time_limit
if max_retries:
self.max_retries = max_retries
task.Task.__init__(self, *args, **kwargs)
t1 = MyTask(time_limit=30, soft_time_limit=20,
max_retries=5)
or
t1 = MyTask()
t1.time_limit = 30
t1.soft_time_limit = 20
Затем пройти t1.si() к task.RetryableChain (...)
job = task.RetryableChain(...)
job.delay()
Когда метод запуска вызывается работником, он по-прежнему получает старое значение (time_limit = 100), где, как я установил time_limit = 30.
Пожалуйста, дайте мне знать, если проблема все еще существует в версии 3.1.18.