Django Celery超过时间限制?
问题描述:
我一直收到此错误...
I keep receiving this error...
[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
即使我有 CELERYD_TASK_TIME_LIMIT = 86400
和 CELERYD_TASK_SOFT_TIME_LIMIT = 86400
在我的settings.py项目中。有谁知道为什么它仍然默认为300s?
even though I have CELERYD_TASK_TIME_LIMIT = 86400
and CELERYD_TASK_SOFT_TIME_LIMIT = 86400
in my settings.py for the project. Does anyone know why would it still be defaulting to 300s?
谢谢
答
修改您的celeryd(/etc/init.d/celeryd)设置。下面的示例将时间限制设置为2小时。
Modify your celeryd (/etc/init.d/celeryd) settings. Sample below sets the time limit to 2 hours.
CELERYD_OPTS="--time-limit=7200 -E --loglevel=DEBUG"