Existe uma maneira de controlar dois serviços systemd instanciados como uma única unidade?

Existe uma maneira de controlar dois serviços systemd instanciados como uma única unidade?

Eu tenho alguns serviços web python que estou tentando executar em uma caixa do Fedora 15. Eles estão sendo executados pelo paster, e a única diferença ao iniciá-los é o arquivo de configuração que eles lêem.

Parece uma boa opção para os serviços instanciados do systemd, mas gostaria de poder controlá-los como uma única unidade. Um alvo systemd que requer ambos os serviços parece ser a maneira de abordar isso. Iniciar o destino inicia ambos os serviços, mas interromper o destino os deixa em execução.

Aqui está o arquivo de serviço:

[Unit]
Description=AUI Instance on Port %i
After=syslog.target

[Service]
WorkingDirectory=/usr/local/share/aui
ExecStart=/opt/cogo/bin/paster serve --log-file=/var/log/aui/%i deploy-%i.ini        
Restart=always
RestartSec=2
User=aui
Group=aui

[Install]
WantedBy=multi-user.target

E aqui está o arquivo de destino:

[Unit]                    
Description=AUI           
[email protected]
[email protected]
After=syslog.target   

[Install]                 
WantedBy=multi-user.target

Esse tipo de agrupamento é possível com o systemd?

Responder1

Veja como usar a BindsToopção de unir as unidades. A systemd.unit(5)página do manual descreve assim:

Vincula-se a =

Configura dependências de requisitos, de estilo muito semelhante a Requires=, porém além desse comportamento, também declara que esta unidade é interrompida quando qualquer uma das unidades listadas desaparece repentinamente. As unidades podem desaparecer repentina e inesperadamente se um serviço for encerrado por sua própria escolha, um dispositivo for desconectado ou um ponto de montagem desmontado sem envolvimento do systemd.

Parece que você deve fazer o que quiser e amarrar uma unidade à outra para que sempre que o mestre parar, o escravo também pare e vice-versa para inicializar.

Não esqueça que você também pode usar Before/ Afterpara especificar a ordem em que eles devem começar, se necessário.

informação relacionada