Я скрещиваю свои мозги на этом с прошлых нескольких дней, я видел другие проблемы в stackoverflow (так как это дублированный вопрос), и я пробовал все, чтобы сделать эту работу , рабочие работают нормально, но сельдерей не запускается как процесс.Запуск сельдерея в качестве демона не создает файл PID
я запускаю команду:
sudo service celeryd start
и я получаю:
celery init v10.1.
Using config script: /etc/default/celeryd
celery multi v3.1.23 (Cipater)
> Starting nodes...
> [email protected]: OK
Я бегу:
sudo service celeryd status
и я получаю:
celery init v10.1.
Using config script: /etc/default/celeryd
celeryd down: no pidfiles found
celeryd down: pidfiles не найден Ошибка - это то, что мне нужно для решения.
Я знаю, что этот вопрос является дублирующим, но по-прежнему сочетается со мной на этом, потому что я попробовал все и не смог его решить.
Я развертываю этот скрипт на веб-сервисах Amazon. Я использую виртуальную среду.
Сценарий init.d
берется непосредственно с here, а затем я дал ему необходимые разрешения.
Вот мой конфигурационный файл:
# Names of nodes to start
# most people will only start one node:
CELERYD_NODES="worker1"
# but you can also start multiple and configure settings
# for each in CELERYD_OPTS (see `celery multi --help` for examples):
#CELERYD_NODES="worker1 worker2 worker3"
# alternatively, you can specify the number of nodes to start:
#CELERYD_NODES=10
# Absolute or relative path to the 'celery' command:
# CELERY_BIN="/usr/local/bin/celery"
CELERY_BIN="/home/<user>/.virtualenvs/<virtualenv_name>/bin/celery"
# App instance to use
# comment out this line if you don't use an app
# CELERY_APP="proj"
# or fully qualified:
CELERY_APP="<project_name>.settings:app"
# Where to chdir at start.
CELERYD_CHDIR="/home/<user>/projects/<project_name>/"
# Extra command-line arguments to the worker
CELERYD_OPTS="--time-limit=300 --concurrency=8"
# %N will be replaced with the first part of the nodename.
CELERYD_LOG_FILE="/var/log/celery/%N.log"
CELERYD_PID_FILE="/var/run/celery/%N.pid"
# Workers should run as an unprivileged user.
# You need to create this user manually (or you can choose
# a user/group combination that already exists, e.g. nobody).
CELERYD_USER="celery"
CELERYD_GROUP="celery"
# If enabled pid and log directories will be created if missing,
# and owned by the userid/group configured.
CELERY_CREATE_DIRS=1
Я использовал процесс, чтобы создать пользователя сельдерея, используя this статьи.
Мой проект - проект Django, и я указал переменную окружения DJANGO_SETTINGS_MODULE
в файле настроек сельдерея, как указано в documentation, а также в стеке answer.
мне нужно изменить что-либо в сценарии init.d или что-нибудь другое, что должно быть добавлено в конфигурационном файле сельдерей Do ... Является ли это о пользователе сельдерея, которое я создал, потому что я также попытался указать
CELERYD_USER = ""
CELERYD_GROUP = ""
при изменении значения DEFAULT_USER
на "" в сценарии init.d
. Еще проблема сохранилась.
В одном из ответов было также сказано, что могут быть некоторые ошибки в проекте ... но я не обнаружил таких ошибок из-за моих тестовых случаев.
PS: Я указал, и для вопросов конфиденциальности они имеют свои первоначальные имена.
У меня такая же проблема. Кажется, следующая документация приводит вас сюда иногда. – Ryan