Définir des gestionnaires et des schémas de redémarrage
Écrivez des gestionnaires réutilisables pour redémarrer un service.
Définir des gestionnaires et des schémas de redémarrage est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.
Où se trouvent les gestionnaires
Les gestionnaires se trouvent dans leur propre section handlers d’un play, séparée de vos tâches ordinaires. Les actions réactives restent ainsi clairement regroupées.
tasks:
- name: Deploy config
ansible.builtin.template:
src: app.conf.j2
dest: /etc/app.conf
notify: Restart app
handlers:
- name: Restart app
ansible.builtin.service:
name: app
state: restartedUn gestionnaire est une tâche
Un gestionnaire utilise exactement la même syntaxe qu’une tâche : un nom et un appel de module. La seule différence est qu’il attend d’être notifié.
Le nom est le contrat
Le nom du gestionnaire est la chaîne que les autres tâches référencent dans leur notify. Considérez-le comme une étiquette stable et exacte que vous réutiliserez.
Redémarrer avec service
Un gestionnaire de redémarrage classique utilise le module service avec l’état défini sur restarted. Il arrête et démarre l’unité en une seule étape.
- name: Restart nginx
ansible.builtin.service:
name: nginx
state: restartedRechargement ou redémarrage
Préférez reloaded lorsqu’un service le prend en charge. Un rechargement relit la configuration sans interrompre les connexions, contrairement à un redémarrage complet.
- name: Reload nginx
ansible.builtin.service:
name: nginx
state: reloadedUtilisez directement systemd
Le module systemd offre un contrôle plus précis sur les hôtes systemd, notamment daemon_reload après la modification d’un fichier d’unité.
- name: Restart app
ansible.builtin.systemd:
name: app
state: restarted
daemon_reload: trueGardez les gestionnaires génériques
Écrivez un gestionnaire Redémarrer nginx réutilisable et notifiez-le depuis plusieurs tâches. Évitez de copier la même logique de redémarrage partout.
Les gestionnaires suivent l’ordre de définition
Lorsque plusieurs gestionnaires sont mis en attente, ils s’exécutent dans l’ordre où ils sont définis, et non dans l’ordre où ils ont été notifiés. Planifiez cette séquence.
L’ordre est important pour les dépendances
Si un rechargement doit avoir lieu avant un redémarrage, définissez-les dans cet ordre dans la liste des gestionnaires afin que la file soit traitée correctement.
Les gestionnaires dans les rôles
Dans un rôle, les gestionnaires se trouvent dans handlers/main.yml. Les tâches du rôle les notifient par leur nom, exactement comme dans un playbook ordinaire.
Des noms clairs
Utilisez des noms formulés comme des actions, tels que Redémarrer nginx ou Recharger sshd. Des noms clairs rendent la sortie lisible et les lignes notify évidentes.
Vérification rapide
Vous avez modifié une configuration et voulez que le service en cours d’exécution la prenne en compte sans interrompre les connexions. Quel état est le plus approprié ?
Récapitulatif
Vous savez maintenant définir des gestionnaires dans la section handlers, choisir entre redémarrage et rechargement, et vous appuyer sur l’exécution selon l’ordre de définition. 🎯
Questions Fréquemment Posées
La leçon « Définir des gestionnaires et des schémas de redémarrage » est-elle gratuite ?
Oui — le texte complet de « Définir des gestionnaires et des schémas de redémarrage » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Définir des gestionnaires et des schémas de redémarrage » ?
Écrivez des gestionnaires réutilisables pour redémarrer un service. Tu pratiques Ansible Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ansible Academy ?
Aucune expérience préalable n'est requise. Ansible Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Définir des gestionnaires et des schémas de redémarrage » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ansible Academy ?
Oui. Chaque leçon Ansible Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Notifier un gestionnaire en cas de modification
- Définir des gestionnaires et des schémas de redémarrage
- Quand les gestionnaires s’exécutent et flush_handlers
- Listen : un déclencheur, plusieurs gestionnaires