>>> from app.tasks import SendSomething
>>> eager_result = SendSomething().apply()
为什么我的任务只能在shell中运行(manage.py shell)?
settings.py
from datetime import timedelta
CELERYBEAT_SCHEDULE = {'send-something':
{'task': 'app.tasks.SendSomething',
'schedule': timedelta(seconds=300),
}}
我跑:
python manage.py celeryd
我有:
[Tasks] . app.tasks.SendSomething
[2013-05-01 18:44:22,895: WARNING/MainProcess] celery@aaa ready.
但没有工作。
答案 0 :(得分:0)
celeryd
是工作进程。默认情况下,它不会安排定期任务。您可以使用-B
选项运行以与工作人员一起运行节拍过程
python manage.py celeryd -B
或者您可以运行其他celerybeat
流程
python manage.py celerybeat
请参阅http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html#starting-the-scheduler