Question les unités systemd ne démarrent pas automatiquement


J'ai un serveur que je voudrais utiliser pour écouter les files d'attente Amazon SQS pour différentes tâches.

Parce que le travail est parallèle, je voudrais avoir 10 du programme "a", 20 du "b", etc.

J'ai créé un service @ .service, b.

et un b-static.service, qui a b@1.service, etc.

Le problème est que lorsque je redémarre l'hôte, les travaux ne démarrent pas. Cependant, si je lance systemctl, démarrez a-static.service, les jobs faire début. (a-static et b-static devraient démarrer car ils ont multi-user.target)

Alors: 1- Pourquoi les emplois ne démarrent-ils pas au démarrage? 2- Est-ce que la façon dont je fais le fichier de modèle d'unité, puis avoir le "statique" l'appelle plusieurs fois, le meilleur moyen de le faire?


1
2018-03-07 20:54


origine




Réponses:


Tout d'abord, pour gérer un groupe de services connexes, je recommande d'utiliser target. Vous pouvez trouver les détails à Comment créer un service systemd virtuel pour arrêter / démarrer plusieurs instances ensemble?.

L'avantage d'utiliser une cible est que vous pouvez arrêter et démarrer tous les services en groupe ou individuellement.

Deuxièmement, vous devez activer services pour eux de commencer au démarrage. Activer une unité exécute les directives que vous avez dans le [Install] section de vos fichiers unitaires. Vous pouvez vérifier si une unité est activée ou non avec systemctl status your-unit ou simplement systemctl is-enabled your-unit.


0
2018-03-08 14:33