Notificar a un handler cuando haya cambios
Conecte una tarea para activar un handler
Notificar a un handler cuando haya cambios es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Reiniciar solo cuando sea necesario
Reiniciar un servicio en cada ejecución es ineficiente y arriesgado. Un handler permite reiniciarlo solo cuando algo realmente ha cambiado.
Qué es un handler
Un handler es simplemente una tarea que permanece inactiva hasta que una tarea normal le indica que se ejecute. Piense en él como una acción que espera una señal.
La palabra clave notify
Conecte una tarea con un handler mediante la palabra clave notify. El valor es el nombre exacto del handler que se activará.
- name: Copy nginx config
ansible.builtin.copy:
src: nginx.conf
dest: /etc/nginx/nginx.conf
notify: Restart nginxLos nombres deben coincidir
La cadena de notify debe coincidir letra por letra con el nombre del handler. Un error tipográfico hace que el handler nunca se active, sin que se indique ningún error.
notify se activa con changed
Un handler solo recibe una notificación cuando su tarea informa de changed. Si la tarea ya está en el estado deseado, no se activa nada.
ok no genera notificaciones
Cuando una tarea devuelve ok, Ansible omite por completo notify. Por eso, en una segunda ejecución normalmente no se reinicia nada. ✅
Una tarea puede notificar a varios handlers
Una tarea puede notificar a varios handlers asignando a notify una lista. Cada handler indicado se pone en cola cuando la tarea cambia.
notify:
- Restart nginx
- Reload firewallLas notificaciones se ponen en cola
Notificar no ejecuta el handler de inmediato. Ansible lo pone en cola y lo ejecuta después, cuando terminan las tareas del play.
Cada handler se ejecuta una vez
Si cinco tareas notifican al mismo handler, este sigue ejecutándose una sola vez. Ansible elimina automáticamente las notificaciones duplicadas de la cola.
Por qué esto reduce el tiempo de inactividad
Como el reinicio solo ocurre cuando hay un cambio real, los servidores sin cambios siguen atendiendo tráfico. Este es el fundamento de una automatización segura e idempotente.
La visión completa
Una tarea cambia un archivo y, después, notify pone el reinicio en cola. Las tareas terminan y, entonces, el handler reinicia el servicio. Limpio y mínimo.
Comprobación rápida
¿Cuándo se activa realmente un handler notificado?
Resumen
Ha aprendido que notify conecta una tarea con un handler que solo se ejecuta cuando hay un cambio. Los nombres deben coincidir y Ansible pone cada handler en cola para ejecutarlo una sola vez. 🚀
Preguntas frecuentes
¿La lección «Notificar a un handler cuando haya cambios» es gratis?
Sí — el texto completo de «Notificar a un handler cuando haya cambios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Notificar a un handler cuando haya cambios»?
Conecte una tarea para activar un handler Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Notificar a un handler cuando haya cambios»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Notificar a un handler cuando haya cambios
- Definir handlers y patrones de reinicio
- Cuándo se ejecutan los handlers y flush_handlers
- Listen: un disparador, varios handlers