Systemd: Serviço de inicialização automática após o mongodb

1

ubuntu16.04.1, systemd

Uma aplicação depende do mongodb. O aplicativo e o mongodb iniciam na inicialização como serviços. app.service contém a próxima linha:

After=network.target mongod.service
Infelizmente, o aplicativo falha (com conexão com o erro do banco de dados), eu acho, porque o mongodb precisa de algum tempo para ser inicializado e estar pronto para conexões (se eu iniciar o aplicativo mais tarde, tudo ficará bem).

Parece que Type=notify (em [Service] seção de mongod.service ) resolverá o problema se o mongodb enviar uma notificação apropriada para o systemd. Mas eu não encontrei nenhuma documentação sobre isso.

A queston é, como autoinicializar o aplicativo, após o mongodb estar pronto para conexões de entrada.

    
por Vladimir Gamalyan 16.08.2016 / 17:04

2 respostas

2

Para referência futura, encontrei esta solução para funcionar: link

Dessa forma, o mongodb bloqueia até que o banco de dados seja acessado antes que o systemd inicie o próximo serviço.

% bl0ck_qu0te%     
por WilbaltSlayerOfGargoyles 14.09.2018 / 15:48
0

Acho que a resposta para essa pergunta já está em serverfault. Resumindo: talvez você deva usar Requires em vez de After . Requires significa que seu serviço requer que o outro funcione corretamente, não que seja "apenas iniciado após".

link

    
por Piohen 13.03.2017 / 21:54