systemd rqworker сервис

Услуги Systemd, я хочу создать, но они перестали работать. Это - мой сервис, который я создал.

[Unit]
Description=rqworker daemon
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/ubuntu/mamster
User=ubuntu
Group=ubuntu
#EnvironmentFile=/etc/sysconfig/master.env
#Environment="PYTHONPATH=/home/ubuntu/venv"
ExecStart=/home/ubuntu/venv /venv/bin/rqworker master
StandardOutput=/home/ubuntu/logs/icengine/std_out.log
StandardError=/home/ubuntu/logs/icengine/std_err/log
#SyslogIdentifier=icengin
KillMode=process
Restart=always
TimeoutSec=infinity
RestartPreventExitStatus=255
Type=notify

[Install]
WantedBy=multi-user.target
Alias=master.service

Первоначально этот сервис Actiating(Start) но не был Active

Но после того, как я внес некоторые изменения и теперь это показывающий ошибку:

После выполнения sudo systemctl start rq

(venv) ubuntu@ubuntucalc:~$ sudo systemctl status rq
● rq.service - rqworker daemon
   Loaded: loaded (/etc/systemd/system/rq.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2019-01-15 06:53:20 UTC; 4s ago
  Process: 18537 ExecStart=/home/ubuntu/venv /venv/bin/rqworker master (code=exited, status=200/CHDIR)
 Main PID: 18537 (code=exited, status=200/CHDIR)

Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Main process exited, code=exited, status=200/CHDIR
Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Failed with result 'exit-code'.
Jan 15 06:53:20 ubuntucalc systemd[1]: Failed to start rqworker daemon.
Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Service hold-off time over, scheduling restart.
Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Scheduled restart job, restart counter is at 5.
Jan 15 06:53:20 ubuntucalc systemd[1]: Stopped rqworker daemon.
Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Start request repeated too quickly.
Jan 15 06:53:20 ubuntucalc systemd[1]: rq.service: Failed with result 'exit-code'.
Jan 15 06:53:20 ubuntucalc systemd[1]: Failed to start rqworker daemon.

Это - вывод, который я имею.Спасибо

1
задан 15 January 2019 в 10:23

1 ответ

В том файле единицы существуют некоторые проблемы:

  • Файл содержит два экземпляра Type=, один с simple и один с notify. Это должно содержать только одну такую строку, и это должно иметь надлежащий тип, который в свою очередь зависит от как исполняемый файл /home/ubuntu/venv ведет себя. Для демонов, часто forking используется.
  • Имя файла, данное для StandardError должен, по-видимому, быть /home/ubuntu/logs/icengine/std_err.log и нет /home/ubuntu/logs/icengine/std_err/log. Удостоверьтесь пользователь ubuntu может записать в то местоположение, и каталоги существуют. Я считаю systemd не создаст путь, если он не будет существовать (хотя он создаст файл).
  • Синтаксис StandardOutput= и StandardError= является неправильным. Согласно документам sysntax StandardOutput=file:/home/ubuntu/logs/icengine/std_out.log. То же для StandardError.
1
ответ дан 7 December 2019 в 15:09

Другие вопросы по тегам:

Похожие вопросы: