Parada sequencial Systemd de instâncias de unidade de modelo

Parada sequencial Systemd de instâncias de unidade de modelo

Eu tenho uma unidade de modelo que preciso criar para iniciar/interromper alguns serviços em execução em uma determinada porta. algo como [email protected], [email protected].

[Unit]
After=network.target
PartOf=services.target

[Service]
ExecStart=app run --port %i
ExecStopPost=sleep 5

[Install]
WantedBy=multi-user.target

Criei uma meta para gerenciar todos esses serviços de uma vez.

cat services.target
[Unit]

[email protected] [email protected] 

Isso funciona bem. Todos eles entregam a mesma API, portanto, para interromper os serviços, quero reiniciar apenas um processo por vez.

. Uma solução poderia ser usar Afterno unit template, mas isso não é muito flexível, pois eu poderia ter mais ou menos desses processos em execução. Se eu remover um, posso quebrar a cadeia de dependências.... Então a única solução que encontrei foi para escrever um script bash que pare/inicie as instâncias uma por uma, com um sleepno meio. Significa que pode usar o targetto stope startmas não restart... o que não é conveniente.

Que outras opções eu tenho? Possibilidade de usar notify?

informação relacionada