Exercise 1: Three Tasks Notifying the Same Handler — Possible Solution ==================================================================== Answer: the handler runs exactly ONE time, at the very end of the play, after all three tasks (and every other task in the play) have finished running. Explanation: The chapter's own description of handlers is explicit on two points that combine to produce this answer: a handler "runs at most once per play, no matter how many tasks notified it," and handlers run "after every regular task in the play has completed, not the moment they're notified." Even though three separate tasks each independently trigger a notify for "restart myapp," Ansible internally just records that this handler HAS been notified -- it doesn't queue up three separate executions or run the handler three times back to back. Once every regular task in the play has run (whether or not each one individually reported changed), Ansible then runs every handler that was notified during the play exactly once each, in the order they're defined under handlers:. So regardless of whether it was notified once or three times, "restart myapp" still only actually restarts the application a single time, after the last regular task in the play has finished. WHY THIS WORKS AS AN ANSWER ------------------------------ This states the concrete answer (exactly once, at the end) and justifies it directly from the chapter's own two explicit statements about handler deduplication and end-of-play timing, rather than just asserting the behavior without grounding it in what the chapter actually said.