我想知道在模块执行时是否有打印信息的方式 – 主要是为了证明该进程正在运行并且没有挂起.具体来说,我正在尝试在执行云计算模块时获得反馈.我尝试修改(
Python)源代码以包括以下内容:
def debug(msg):
print json.dumps({
"DEBUG" : msg
})
...
debug("The stack operation is still working...")
当然,这样做是存储所有这些输出,并且只有在模块完成执行后才打印出来.所以对于特别大的云信息模板,这意味着我等待5分钟左右,然后突然看到屏幕上出现了大量的文字.我期待的是看到“堆栈操作仍然工作…”每x秒打印一次.
似乎Asynchronous Actions and Polling是我正在寻找…但这也没有工作.整个任务“启动CloudFormation for {{stackname}}”完全被跳过.有关(YAML)片段,请参见下文:
- name: Launch CloudFormation for {{ stackname }}
cloudformation: >
stack_name="{{ stackname }}" state=present
region="{{ region }}" disable_rollback=true
template="{{ template }}"
register: cloud
args:
template_parameters:
KeyName: "{{ keyName }}"
Region: "{{ region }}"
SecurityGroup: "{{ securityGroup }}"
BootStrapper: "{{ bootStrapper }}"
BootStrapCommand: "powershell.exe -executionpolicy unrestricted -File C:\\{{ bootStrapper }} {{ region }}"
S3Bucket: "{{ s3Bucket }}"
async: 3600
poll: 30
这告诉我,异步是针对典型的shell命令,而不是复杂的模块,如云信息.或者 – 我可能做错了事情.
任何人都可以看出这种情况吗?再次,对于需要一段时间的大型云计算任务,我想定期指出任务仍在运行,而不是挂起.我很感激帮助!