Ansible async_status Module — Check Async Task Status
Introduction
The ansible.builtin.async_status module monitor and check the status of asynchronous tasks in Ansible playbooks. This guide covers installation, parameters, practical examples, and troubleshooting for production use.
Quick Reference
- name: Basic async_status usage
ansible.builtin.async_status:
state: present
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
state | No | present | Desired state (present/absent) |
name | Yes | — | Target resource name |
Installation
# Install the collection
ansible-galaxy collection install ansible.builtin
# Verify installation
ansible-doc ansible.builtin.async_status
Basic Example
---
- name: Check Async Task Status
hosts: all
become: true
tasks:
- name: Ensure resource is configured
ansible.builtin.async_status:
name: example
state: present
Advanced Examples
Idempotent Configuration
- name: Configure with all options
ansible.builtin.async_status:
name: production
state: present
register: result
- name: Show result
ansible.builtin.debug:
var: result
Conditional Execution
- name: Only on specific OS
ansible.builtin.async_status:
name: example
state: present
when: ansible_os_family == "Debian"
Loop Over Multiple Items
- name: Configure multiple resources
ansible.builtin.async_status:
name: "{{ item }}"
state: present
loop:
- resource1
- resource2
- resource3
Error Handling
- name: Handle failures gracefully
block:
- name: Attempt configuration
ansible.builtin.async_status:
name: example
state: present
rescue:
- name: Log failure
ansible.builtin.debug:
msg: "Failed to configure async_status: {{ ansible_failed_result.msg }}"
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| Module not found | Collection not installed | ansible-galaxy collection install ansible.builtin |
| Permission denied | Insufficient privileges | Add become: true |
| Timeout | Network/resource unavailable | Increase timeout, check connectivity |
| Idempotency issue | Module reports changed every run | Check parameter values match desired state |
Best Practices
- Use FQCN — always use
ansible.builtin.async_statusinstead of short name - Register results — capture output for conditional logic
- Handle errors — use
block/rescuefor graceful failure handling - Test in check mode — run with
--checkbefore applying - Pin collection version — specify version in
requirements.yml
Related Modules
ansible.builtin.debug— Display variable valuesansible.builtin.assert— Validate conditionsansible.builtin.set_fact— Set variables from task results
Conclusion
The ansible.builtin.async_status module provides idempotent monitor and check the status of asynchronous tasks in Ansible playbooks Always use the FQCN, handle errors with block/rescue, and test with --check mode before production deployment.