O serviço Systemd não é reiniciado, nenhuma explicação de falha

4

Quando meu serviço falha, recebo a seguinte saída:

Nov 06 10:23:55 irgprod2 systemd[1]: emsxsub.service: Unit entered failed state.
Nov 06 10:23:55 irgprod2 systemd[1]: emsxsub.service: Failed with result 'exit-code'.
Nov 06 10:23:58 irgprod2 systemd[1]: emsxsub.service: Service hold-off time over, scheduling restart.
Nov 06 10:23:58 irgprod2 systemd[1]: Stopped EMSX API Subscription.

Não há explicação sobre o que deu errado ou porque o serviço não foi reiniciado, nenhuma menção ao "limite inicial" ou qualquer outra coisa. Este é o processo:

[Unit]
Description=EMSX API Subscription
After=multi-user.target

[Service]
Type=simple
Restart=always
RestartSec=3
User=root
Environment=PYTHONPATH=/k/svn_prod
Environment=LD_LIBRARY_PATH=/opt/lib
ExecStart=/usr/bin/python /k/svn_prod/com_wrappers/bbg_emsxsub.py
RemainAfterExit=no

[Install]
WantedBy=multi-user.target

Eu tentei sem o argumento User, sem o argumento RemainAfterExit, etc. O processo systemctl está ativado e o processo é executado e reiniciado com êxito quando eu executo "service emsxsub restart". É somente quando falha que o systemd agenda a reinicialização e, em seguida, interrompe o serviço sem reiniciá-lo com êxito. Não consigo encontrar mais ninguém com esse problema - outros problemas parecem ser um erro de "limite inicial", o que não é o caso aqui. Alguém já viu esse problema antes? Não consigo descobrir por que tudo funciona quando é reiniciado manualmente, mas o serviço não consegue reiniciar a si mesmo em caso de falha.

Aqui está a saída do journalctl:

Nov 06 10:23:55 irgprod2 python[18451]: Traceback (most recent call last):
Nov 06 10:23:55 irgprod2 python[18451]:   File "/k/svn_prod/com_wrappers/bbg_emsxsub.py", line 533, in <module>
Nov 06 10:23:55 irgprod2 python[18451]:     main()
Nov 06 10:23:55 irgprod2 python[18451]:   File "/k/svn_prod/com_wrappers/bbg_emsxsub.py", line 505, in main
Nov 06 10:23:55 irgprod2 python[18451]:     raise RuntimeError()  # raise error so process restarts
Nov 06 10:23:55 irgprod2 python[18451]: RuntimeError
Nov 06 10:23:55 irgprod2 systemd[1]: emsxsub.service: Main process exited, code=exited, status=1/FAILURE
Nov 06 10:23:55 irgprod2 systemd[1]: emsxsub.service: Unit entered failed state.
Nov 06 10:23:55 irgprod2 systemd[1]: emsxsub.service: Failed with result 'exit-code'.
Nov 06 10:23:58 irgprod2 systemd[1]: emsxsub.service: Service hold-off time over, scheduling restart.
Nov 06 10:23:58 irgprod2 systemd[1]: Stopped EMSX API Subscription.

Saída de systemctl status emsxsub.service :

* emsxsub.service - EMSX API Subscription
   Loaded: loaded (/lib/systemd/system/emsxsub.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Wed 2018-11-07 08:18:49 EST; 40s ago
  Process: 3936 ExecStart=/usr/bin/python /k/svn_prod/com_wrappers/bbg_emsxsub.py (code=exited, status=1/FAILURE)
 Main PID: 3936 (code=exited, status=1/FAILURE)

Nov 07 08:18:45 irgprod2 systemd[1]: emsxsub.service: Unit entered failed state.
Nov 07 08:18:45 irgprod2 systemd[1]: emsxsub.service: Failed with result 'exit-code'.
Nov 07 08:18:49 irgprod2 systemd[1]: emsxsub.service: Service hold-off time over, scheduling restart.
Nov 07 08:18:49 irgprod2 systemd[1]: Stopped EMSX API Subscription.

Saída de systemctl show emsxsub.service | grep -i restart :

[trading@irgprod2 ~]$ systemctl show emsxsub.service | grep -i restart
Restart=always
RestartUSec=3s

versão do systemctl:

systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

Detalhes da distribuição:

[trading@irgprod2 ~]$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
    
por John 06.11.2018 / 16:41

1 resposta

1

A remoção de After=multi-user.target resolveu o problema. A observação de Filipe de uma dependência circular parece ter sido o chamado correto.

    
por 09.11.2018 / 16:15

Tags