我一直收到这个错误...
[2012-06-14 11:54:50,072: ERROR/MainProcess] Hard time limit (300s) exceeded for movies.tasks.encode_media[14cad954-26e2-4511-94ec-b17b9a4149bb]
[2012-06-14 11:54:50,111: ERROR/MainProcess] Task movies.tasks.encode_media[bc173429-77ae-4c96-b987-75337f915ec5] raised exception: TimeLimitExceeded(300,)
Traceback (most recent call last): File "/srv/virtualenvs/filmlib/local/lib/python2.7/site-packages/celery/concurrency/processes/pool.py", line 370, in _on_hard_timeout raise TimeLimitExceeded(hard_timeout)
TimeLimitExceeded: 300
即使我在我的settings.py中有CELERYD_TASK_TIME_LIMIT = 86400
和CELERYD_TASK_SOFT_TIME_LIMIT = 86400
项目。有谁知道为什么它仍会默认为300s?
由于
答案 0 :(得分:18)
修改您的celeryd(/etc/init.d/celeryd)设置。以下示例将时间限制设置为2小时。
CELERYD_OPTS="--time-limit=7200 -E --loglevel=DEBUG"