--- - hosts: all vars: timeout_retries: 2 # number or poll tries timeout_delay: 10 # delay between polls email_list: "y...@email.com"
tasks: - name: laucnhing long task shell: "/bin/sleep 30; echo trololo" async: 60000 poll: 0 register: long_task - name: check timeout async_status: jid={{ long_task.ansible_job_id }} register: job_result until: job_result.finished retries: "{{ timeout_retries }}" delay: "{{ timeout_delay }}" ignore_errors: yes # warning mail - local_action: mail host="localhost" port=25 from="adba@{{ ansible_hostname }}" to="{{ email_list }}" subject='WARNING "{{ inventory_hostname }}" long running task' body="{{ job_result }}" when: job_result.attempts >= {{ timeout_retries }} - name: wait for task to finish async_status: jid={{ long_task.ansible_job_id }} register: job_result until: job_result.finished - name: check status debug: var=job_result # failed mail - local_action: mail host="localhost" port=25 from="adba@{{ ansible_hostname }}" to="{{ email_list }}" subject='FAILED "{{ inventory_hostname }}" long running task' body="{{ job_result }}" when: job_result.rc != 0 # ok mail - local_action: mail host="localhost" port=25 from="adba@{{ ansible_hostname }}" to="{{ email_list }}" subject='SUCCESFUL "{{ inventory_hostname }}" long running task' body="{{ job_result }}" when: job_result.rc = 0 Above what i have now. It looks ugly (at best). Any suggestions? Probably OK/Failed should be done via callback plugin (does one exists already for that?) On Saturday, November 14, 2015 at 2:22:16 AM UTC+3, Brian Coca wrote: > > you can set a subsequent task to poll for it and have that use > until/retry up to that limit, then register a result, next task can > conditionally mail depending on that result > > -- > Brian Coca > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/ff267a46-0ff1-466f-8baa-43e6159396c9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.