Сельдерей + Джанго: не может запустить сельдерея на Windows 7 - PullRequest
12 голосов
/ 03 января 2012

Странные проблемы здесь.Я разрабатывал приложение Django и сейчас пытаюсь реализовать Celery.Мне нужны как обычные задачи, так и периодические задачи.Я могу нормально запустить celeryd и выполнять с ним задачи (я запускаю его командой python manage.py celeryd start --settings=settings --loglevel=INFO).

В 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 фактически никогда не запускается.Так что я не могу выполнять периодические задачи ... Есть идеи?Я нашел только еще одну страницу , где кто-то выделил аналогичную ошибку, но решения не было предложено.

Если требуется дополнительная информация, пожалуйста, дайте мне знать.Я сбит с толку, потому что я не могу найти никакой информации по этому вопросу, и я пытался решить эту проблему сегодня весь день ... Спасибо.

Ответы [ 2 ]

16 голосов
/ 03 января 2012

Найдите в вашей файловой системе этот pid-файл и удалите его.На Unix-машинах это обычно означает, что программа не была корректно закрыта.Вы должны проверить, запущен ли он в диспетчере задач, если это так, убить его и удалить этот файл

. Затем попробуйте снова.

Если pid-файл отсутствует, это, вероятно, означает, что существует проблема с программным обеспечением, так как оно было перенесено из unix, возможно?

12 голосов
/ 09 марта 2017

В моем случае проекта django в Windows этот файл уже существовал в корне проекта Django. Я удалил этот файл и процесс запустился без ошибок. enter image description here

"celerybeat.pid" уже существовал, потому что я запустил бит сельдерея с другого ПК и перенес git-репо в облако. Когда я вытащил репо на своем рабочем ПК и запустил процесс, он дал мне ошибку, ссылаясь на файл «celerybeat.pid», созданный ранее другим ПК. Удаление "celerybeat.pid" заставило его работать.

...