systemd unidades não serão iniciadas automaticamente

1

Eu tenho um servidor que gostaria de usar para ouvir as filas do Amazon SQS para várias tarefas.

Como o trabalho é paralelo, gostaria de ter 10 do programa "a", 20 de "b", etc.

Eu criei um @ .service, b @ .service como modelo e, em seguida, criei a-static.service, que tem [email protected], [email protected], etc

e um b-static.service, que tem [email protected], etc.

O problema é que quando eu reinicio o host, as tarefas não são iniciadas. No entanto, se eu executar o systemctl start a-static.service, os jobs do serão iniciados. (a-static e b-static devem iniciar porque eles possuem multi-user.target)

Então: 1- Por que os trabalhos não estão começando na inicialização? 2- É a maneira que eu estou fazendo o arquivo de modelo de unidade e, em seguida, tendo o "estático" chamá-lo várias vezes a melhor maneira de fazê-lo?

    
por Robert Kulagowski 07.03.2017 / 21:54

1 resposta

0

Primeiro, para gerenciar um grupo de serviços relacionados, recomendo usar target . Você pode encontrar os detalhes em Como criar um serviço systemd virtual para interromper / iniciar várias instâncias juntas? .

O benefício de usar um alvo é que você pode parar e iniciar todos os serviços como um grupo ou individualmente.

Segundo, você tem que ativar os serviços para que eles iniciem na inicialização. Ativar uma unidade executa as diretivas que você tem na seção [Install] dos arquivos da sua unidade. Você pode verificar se uma unidade está ativada ou não com systemctl status your-unit ou simplesmente systemctl is-enabled your-unit .

    
por Mark Stosberg 08.03.2017 / 15:33