40 lines
911 B
Markdown
40 lines
911 B
Markdown
## Async
|
|
|
|
Run tasks asynchronously to avoid blocking:
|
|
|
|
### Key Parameters
|
|
|
|
- `async`: Maximum number of seconds to wait for the task to complete
|
|
- `poll`: Number of seconds to wait between checks (0 means no polling)
|
|
|
|
### Example Playbook
|
|
|
|
```yaml
|
|
- name: Restart service asynchronously
|
|
service:
|
|
name: apache2
|
|
state: restarted
|
|
async: 10
|
|
poll: 0
|
|
|
|
# Check async task status:
|
|
# ansible-playbook site.yml --check
|
|
```
|
|
|
|
### Best Practices
|
|
|
|
1. Use async for long-running tasks (e.g., backups, migrations)
|
|
2. Combine with `ignore_errors: yes` for resilient task execution
|
|
3. Monitor task status using `async_status` module
|
|
4. Use `--check` flag to simulate async operations
|
|
|
|
### Troubleshooting
|
|
|
|
- Check task output with `--verbosity=2`
|
|
- Use `async_status` to track task progress:
|
|
```yaml
|
|
- name: Check async task status
|
|
async_status:
|
|
jid: "{{ async_jid }}"
|
|
register: task_result
|
|
``` |