мы делаем сумасшедшие забавные вещи с django-celery. Несколько наших задач требуют времени, и мы хотели бы позволить им делать свое дело. Я попытался установить для CELERYD_TASK_TIME_LIMIT большое значение, например 86400 (24 часа), но мои задачи все еще сообщают о TimeLimitExceeded через 5 минут. Я перечитывал документацию больше раз, чем хотел бы запомнить, но не могу найти ничего, что бы ссылалось ни на значение по умолчанию для CELERYD_TASK_TIME_LIMIT, ни на максимальное значение.
Два действительно ценных вопроса для нас:
- Какое максимальное значение для CELERYD_TASK_TIME_LIMIT? (сейчас кажется 5 минут или 300)
- Почему я не могу установить для параметра CELERYD_TASK_TIME_LIMIT значение None? (да, я почти уверен, что понимаю последствия потенциальных рабочих-зомби)
В настройках.py
CELERYD_TASK_TIME_LIMIT = 86400 #24 hours
CELERYD_TASK_SOFT_TIME_LIMIT = 86400
[2012-03-26 18:32:00,025: INFO/MainProcess] Got task from broker: asynch_periodic_update[e3a41c84-f070-4c68-a822-0a223efe1a42] [2012-03-26 18:37:00,403: ERROR/MainProcess] Task asynch_periodic_update[e3a41c84-f070-4c68-a822-0a223efe1a42] raised exception: TimeLimitExceeded()
- person Cahlan Sharp   schedule 26.03.2012