CELERYD_TASK_TIME_LIMIT的最大(上限)值?

时间:2012-03-26 18:50:41

标签: django celery django-celery

我们正在用django-celery做一些疯狂有趣的事情。我们的一些任务需要一段时间,我们想让他们做他们的事情。我尝试将CELERYD_TASK_TIME_LIMIT设置为86400(24小时)这样的大值,但我的任务仍在5分钟内报告TimeLimitExceeded。我读过文档的次数比我想要记住的次数多,但我找不到任何引用CELERYD_TASK_TIME_LIMIT的默认值或最大值的内容。

对我们来说有两个非常有价值的问题:

  1. CELERYD_TASK_TIME_LIMIT的最大值是多少? (现在看来是5分钟,或300)
  2. 为什么我不能将CELERYD_TASK_TIME_LIMIT设置为None? (是的,我很确定我理解潜在的僵尸工人的影响)
  3. 在settings.py中

    CELERYD_TASK_TIME_LIMIT = 86400 #24 hours
    CELERYD_TASK_SOFT_TIME_LIMIT = 86400
    

1 个答案:

答案 0 :(得分:1)

要回答有关默认值的问题,CELERYD_TASK_TIME_LIMITCELERYD_TASK_SOFT_TIME_LIMIT的默认值均为None。这些值没有记录,代码库的简单grep也不会帮助你。我记录了应用程序.conf的所有值,以便了解自己:

>>> import celery
>>> app = celery.Celery()
>>> app.conf