芹菜+ Django:无法在Windows 7上启动celerybeat
问题描述:
奇怪的问题在这里。我一直在开发一个Django应用程序,现在我正试图实现Celery。我需要正常任务和周期性任务排队。我可以很好地启动celeryd,并使用它执行任务(我从命令python manage.py celeryd start --settings=settings --loglevel=INFO
开始)。芹菜+ Django:无法在Windows 7上启动celerybeat
在Windows上,您不能执行-beat
/-b
以启用节拍模式;您需要启动celerybeat作为一项单独的服务(这在Celery文档的常见问题部分有说明)。如果我键入命令行本 - python manage.py celerybeat -s djcelery.schedulers.DatabaseScheduler --settings=settings --loglevel=INFO
- 我得到一个错误这样的:
[2012-01-02 19:06:52,009: WARNING/MainProcess] ERROR: Pidfile (celerybeat.pid) a
lready exists.
Seems we're already running? (PID: 2364)
[2012-01-02 19:06:52,012: INFO/MainProcess] process shutting down
和celerybeat从来没有真正开始。所以我不能执行任何周期性任务...任何想法?我只发现one other page,有人强调了类似的错误,但没有提供解决方案。
如果有任何进一步的信息需要,请让我知道。我很困惑,因为我找不到关于这个问题的任何信息,我今天一直在努力解决这个问题......谢谢。
答
在您的文件系统中搜索该pid文件并将其删除。在unix机器上通常意味着程序没有正确关闭。你应该检查它是否已经在任务管理器中运行,如果是的话就杀了它,并删除该文件。
然后再试一次。
如果没有pid文件存在,那可能意味着软件有问题,因为它可能从unix移植过来?
我手动停止了RabbitMQ服务,找到并删除了'celerybeat.pid',然后启动了RabbitMQ备份 - 并且它现在可以工作。非常感谢,我不知道为什么我自己没有尝试过......我想我只是太胆小。 对于任何想要避免这种不便的人 - 确保在关闭命令提示符前始终键盘中断celeryd和celerybeat! – hangtwenty 2012-01-03 01:59:23