使用Django的call命令用celerybeat启动celery worker

时间:2012-12-31 14:42:43

标签: django celery

我想用Python脚本和celerybeat创建一个Django芹菜工作者。在命令行上,我会这样做:

python manage.py celery worker --beat --schedule celerybeat-schedule.db

我是从脚本中尝试过的,但它引发了异常:

from django.core.management import call_command
call_command("cerlery", "worker", "--beat", "--schedule", "celerybeat-schedule.db")

2 个答案:

答案 0 :(得分:1)

我通过这样做来解决这个问题:

from djcelery.management.commands import celery
args = ['manage.py', 'celery', 'worker', '--beat', '--schedule',
        'celerybeat-schedule']
command = celery.Command()
command.run_from_argv(args)

但如果可以使用call_command,我想知道如何。

答案 1 :(得分:1)

我倾向于这样做..

./manage.py celeryd --event --beat --loglevel=INFO --logfile=./celeryd.log

然后运行相机..

./manage.py celeryev --camera=djcelery.snapshot.Camera --logfile=./celeryev.log 

希望这有帮助。