Ansible ofrece varias opciones para forzar manejadores:
1) Para forzar siempre a todos los manejadores, ejecute ansible-playbook playbook.yml --force-handlers
, como se documenta aquí: https://github.com/ansible/ansible/issues/4777
2) Para forzar a los controladores que han sido notificados en un punto específico dentro de un libro de jugadas, puede usar una metatarea https://docs.ansible.com/playbooks_intro.html :
tasks:
- shell: some tasks go here
- meta: flush_handlers
- shell: some other tasks
3) Sin embargo, parece que solo quiere asegurarse de que un servicio se esté ejecutando o reiniciando, independientemente del resultado de otra tarea. En ese caso, no use un controlador, use una nueva tarea que llame al service
módulo de Ansible : http://docs.ansible.com/service_module.html
tasks:
- name: ensure ntp is running
service: name=ntp state=started enabled=yes
- name: always reload nginx
service: name=nginx state=reloaded
- name: always restart MySQL
service: name=mysql state=restarted