How to force handler to run before executing a task in Ansible?

Question:

I have a playbook which should configure on specified IP, and than connect to this app to configure stuff inside.

I’ve got a problem: I need to restart app after I’ve changed anything in app config, and if I do not restart app, connection to it failed (no connection because app knows nothing about new config with new IP address I’m trying to access).

My current playbook:

I need to force the handler to run if configure_app changed before executing ‘Change data in app’.

Answer:

If you want to force the handler to run in between the two tasks instead of at the end of the play, you need to put this between the two tasks:

- meta: flush_handlers

Example taken from the ansible documentation :

Note that this will cause all pending handlers to run at that point, not just that specific one.

Leave a Reply