我们可以在Ansible的Windows Playbook上使用async吗?

时间:2015-11-25 17:20:13

标签: ansible ansible-playbook

我阅读了来自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不支持异步模块?

2 个答案:

答案 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