0

我已经像这样设置了我的 Django 环境:

INSTALLED_APPS = (
....
    'djcelery',

)

BROKER_URL = "amqp://guest:guest@localhost:5672//"
CELERY_IMPORTS = ('bulksms.tasks', 'premiumsms.tasks', 'reports.tasks')
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

import djcelery
djcelery.setup_loader()

在 Django 管理员中,我将我想要的任务添加到定期任务(我可以看到那里的所有任务)中,以便每分钟运行一次以进行测试,但该任务永远不会运行。

Running django then 
python manage.py celeryd -E --loglevel=DEBUG
python manage.py celerycam

在 Djcelery 下的管理站点中,也没有添加任务的选项(不确定它是否曾经存在。)

4

1 回答 1

2

如果你想用 Celery 运行定期任务,那么你需要运行 celerybeat 进程

python manage.py celery beat

或在工作进程中使用另一个线程

python manage.py celery worker -E --loglevel=DEBUG -B

请参阅有关启动调度程序的文档http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html#starting-the-scheduler

于 2012-12-12T14:50:46.163 回答