我阅读了来自Ansible的关于火灾和忘记任务的document。
但是当试图写一个在我的Windows剧本上使用时
- name: install dotnet4
win_chocolatey:
name: dotnet4
state: present
async: 1000
poll: 0
register: dotnet_sleeper
我的控制台显示
TASK [windows.async.test : install dotnet4] *********************************
fatal: [192.168.0.165]: FAILED! => {"changed": false, "failed": true, "msg": "The async task did not return valid JSON: No JSON object could be decoded"}
这是否意味着Windows不支持异步模块?
答案 0 :(得分:1)
这是一个开放的issue。
请查看链接的问题页面以获取解决方法。
答案 1 :(得分:0)
问题287已关闭,此后不久就打开/修复了类似问题22575。
此外,Ansible发布了一篇详细介绍如何使用Asynchronous Actions and Polling的文章。
我已经确认下面的异步示例工作2.4.2.0 +
- name: CHECK IF IIS WEB SERVER IS INSTALLED
async: 10
poll: 0
register: iis_install_result
win_feature:
name: Web-Server
state: present
- name: CHECK ON IIS WEB SERVER INSTALL STATUS
async_status: jid={{ iis_install_result.ansible_job_id }}
register: job_result
until: job_result.finished
retries: 30