Celery + Django: не удается запустить celerybeat в Windows 7
Нечетные проблемы здесь. Я разрабатываю приложение 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 никогда не начинается. Поэтому я не могу выполнять какие-либо периодические задачи... Любые идеи? Я только нашел еще одну страницу, где кто-то выделил аналогичную ошибку, но не было предложено никакого решения.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Я озадачен, потому что не могу найти никакой информации по этому вопросу, и сегодня я пытался решить эту проблему сегодня... Спасибо.
Ответы
Ответ 1
Найдите свою файловую систему для этого файла pid и удалите ее. На машинах Unix, которые обычно означают, что программа не была отключена правильно. Вы должны проверить, не работает ли его запуск в диспетчере задач, если он его убил, и удалите этот файл
Затем повторите попытку.
Если нет файла pid, возможно, это означает, что проблема с программным обеспечением, поскольку она была перенесена из unix, возможно?
Ответ 2
В моем случае проекта django в Windows этот файл уже был в корне проекта Django. Я удалил этот файл, и процесс прошел без каких-либо ошибок.
![введите описание изображения здесь]()
"celerybeat.pid" уже существует, потому что я побежал на дереве с другого компьютера и перебросил репозиторий git в облако. Когда я вытащил репо на свой рабочий компьютер и запустил процесс, он дал мне ошибку, ссылаясь на файл "celerybeat.pid" , созданный ранее другим ПК. Удаление "celerybeat.pid" заставило его работать.