There are cases where an Ansible execution will interrupt. Many things can cause these situations.
The single most frequent cause of problems I've found while executing Ansible playbooks is the network. Since the machine that is issuing the commands and the one that is performing them are usually linked through the network, a problem in the network will immediately show itself as an Ansible execution problem.
Sometimes, and this is particularly true for some modules, such as shell or command, the return code is non-zero, even though the execution was successful. In those cases, you can ignore the error by using the following line in your module:
ignore_errors: yes
For instance, if you run the /bin/false command, it will always return 1. To execute this in a playbook so that you can avoid it blocking there, you can write something like...