демон сельдерея перестал работать после того, как я убил процесс сельдерея - PullRequest
0 голосов
/ 12 марта 2020

Я запустил задание с неверными параметрами, из-за чего оно может работать вечно. Я только что убил основной процесс сельдерея с помощью kill -9. После этого сервис не запускается, чем я занимаюсь. При запуске из командной строки запускается нормально. Я использую Ubuntu 18.04. Файл журнала создан, но имеет 0 байтов.

Вот выходные данные сельдерея состояния systemctl:

user@ubuntu18-0:~/repository/backend$ systemctl status celery
● celery.service - Celery Service
   Loaded: loaded (/lib/systemd/system/celery.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Mar 12 09:00:10 ubuntu18-0 sh[5889]: celery multi v4.3.0 (rhubarb)
Mar 12 09:00:10 ubuntu18-0 sh[5889]: > ubuntu18-0@ubuntu18-0: DOWN
Mar 12 09:40:51 ubuntu18-0 systemd[1]: Starting Celery Service...
Mar 12 09:40:54 ubuntu18-0 sh[9234]: 2020-03-12 09:40:54,234 - Asynchronous - INFO - ######################## NEW LOG ########################
Mar 12 09:40:54 ubuntu18-0 sh[9234]: celery multi v4.3.0 (rhubarb)
Mar 12 09:40:54 ubuntu18-0 sh[9234]: > Starting nodes...
Mar 12 09:40:54 ubuntu18-0 sh[9234]:         > ubuntu18-0@ubuntu18-0: OK
Mar 12 09:40:54 ubuntu18-0 systemd[1]: Started Celery Service.
Mar 12 09:40:55 ubuntu18-0 sh[9266]: celery multi v4.3.0 (rhubarb)
Mar 12 09:40:55 ubuntu18-0 sh[9266]: > ubuntu18-0@ubuntu18-0: DOWN
user@ubuntu18-0:~/repository/backend$

Вот выходные данные его запуска вручную:

./start_celery.sh
celery multi v4.3.0 (rhubarb)
> Starting nodes...
2020-03-12 09:44:12,459 - Asynchronous - INFO - ######################## NEW LOG ########################
        > ubuntu18-0@ubuntu18-0: OK

Вот мой сервис celery.service:

[Unit]
Description=Celery Service
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/celery.conf
WorkingDirectory=/home/user/repository/backend
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE}  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
Restart=no
#RestartSec=60

[Install]
WantedBy=multi-user.target

Вот /etc/celery.conf:

# Names of node, adapt depending on host
CELERYD_NODES="ubuntu18-0"

ENV_PYTHON="/home/user/venv/bin/python3"

# Absolute or relative path to the 'celery' command:
CELERY_BIN="/home/user/venv/bin/celery"

# App instance to use
# comment out this line if you don't use an app
CELERY_APP="asynchronous.async_tasks.celery"

# Where to chdir at start.
CELERYD_CHDIR="/home/user/repository/backend/"

# Extra command-line arguments to the worker
CELERYD_OPTS="--concurrency=4 -Ofair -Q hcs_async,celery"

# Set logging level to DEBUG
CELERYD_LOG_LEVEL="INFO"

# %n will be replaced with the first part of the nodename.
CELERYD_LOG_FILE="/home/user/celery/%n%I.log"
CELERYD_PID_FILE="/home/user/celery/%n.pid"

# If enabled pid and log directories will be created if missing,
# and owned by the userid/group configured.
CELERY_CREATE_DIRS=1

Перезагрузка не помогла. Я подозреваю, что где-то может быть файл, который сообщает systemd или celery, что служба находится в плохом состоянии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...