我有以下 ansible 角色任务:“任务 1”、“任务 2”、“任务 2.1”、“任务 2.2”、“任务 3”
我需要运行它们,但所有这些任务都需要很多时间才能完成(从 1 小时到 12 小时),并且它们必须按照特殊的排序顺序进行(我的意思是,“任务 2.1”必须仅在“任务 2”之后开始,并且很快)
我怎样才能做到这一点?
小智 6
对于长时间运行的任务,请使用 Ansible 的异步模式有效地将任务置于后台。
- name: 'YUM - fire and forget task'
yum: name=docker-io state=installed
async: 1000
poll: 0
register: yum_sleeper
Run Code Online (Sandbox Code Playgroud)
然后执行另一个任务来检查后台任务的状态。
- name: 'YUM - check on fire and forget task'
async_status: jid={{ yum_sleeper.ansible_job_id }}
register: job_result
until: job_result.finished
retries: 30
Run Code Online (Sandbox Code Playgroud)
示例取自 Ansible 官方文档: http://docs.ansible.com/ansible/playbooks_async.html
| 归档时间: |
|
| 查看次数: |
15257 次 |
| 最近记录: |