You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Ansible异步循环中的每个条目打印消息?

解决Ansible循环执行命令后打印自定义消息的问题

要实现你想要的效果,只需在原异步任务后新增一个debug模块任务,遍历原任务的执行结果列表,逐个打印自定义消息即可。

修改后的完整Playbook代码

- name: 启动镜像服务器
  command: python3 image.pyc {{ item }} "{{ systemVersion }}"
  register: async_out
  async: 7200
  poll: 0
  with_items: "{{ hostinfo_input.hosts }}"

- name: 打印任务启动提示
  debug:
    msg: "Running image.pyc for {{ item.item }}"
  with_items: "{{ async_out.results }}"

说明

  1. 原任务通过register: async_out保存了所有循环条目的执行结果,由于用了with_items,结果会以列表形式存放在async_out.results中。
  2. 新增的debug任务遍历这个结果列表,通过item.item获取原循环中的每个主机名,拼接成你需要的提示消息。

执行效果示例

TASK [启动镜像服务器] ************* 
changed: [localhost] => (item=8m007) 
changed: [localhost] => (item=8m013) 

TASK [打印任务启动提示] ************* 
ok: [localhost] => (item={'changed': True, 'item': '8m007', ...}) => {
    "msg": "Running image.pyc for 8m007"
}
ok: [localhost] => (item={'changed': True, 'item': '8m013', ...}) => {
    "msg": "Running image.pyc for 8m013"
}

内容的提问来源于stack exchange,提问作者Akash-BLR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 17:47:24