모듈이 실행되는 동안 정보를 인쇄하는 방법이 있는지 알고 싶습니다. 주로 프로세스가 작동하고 중단되지 않았 음을 입증하는 수단으로 사용합니다. 특히 cloudfrom 모듈을 실행하는 동안 피드백을 얻으려고합니다. 나는 다음과 같은 포함하도록 (파이썬) 소스 코드를 수정 시도 :가능 - 모듈 실행 중 정보를 인쇄 할 수 있습니까?
def debug(msg):
print json.dumps({
"DEBUG" : msg
})
...
debug("The stack operation is still working...")
것은이 무슨 짓을 물론, 저장, 모든이 출력을했다 만 모듈 실행이 완료 한 모든 후 인쇄 할 수 있습니다. 따라서 특히 큰 구름 형성 템플릿의 경우, 이것은 5 분 정도 기다린 다음 갑자기 많은 양의 텍스트가 화면 끝에 나타남을 의미합니다. 내가 기대했던 것은 "스택 작업이 여전히 작동 중입니다 ..."라는 메시지가 매 x 초마다 출력된다는 것입니다.
Asynchronous Actions and Polling이 내가 찾고있는 것 같습니다 ...하지만이 역시 작동하지 않았습니다. "{{stackname}}의 CloudFormation 시작"작업은 모두 건너 뜁니다. 내 플레이 북에서 관련 (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
을이 그 비동기은 cloudformation 같은 복잡한 모듈을 전형적인 쉘 명령에 대한 의미되지 않으며, 나에게 말한다. 또는 - 내가 잘못했을 수 있습니다.
누구나이 상황을 밝힐 수 있습니까? 다시 한 번 말씀 드리지만, 시간이 많이 걸리는 대형 클라우드 정보 작업의 경우 작업이 아직 실행 중이며 정지하지 않았 음을 나타내는주기적인 표시를 원합니다. 도움에 감사드립니다!
감사합니다. 나는 적어도 30 초 간격으로 간단한 "작업이 아직 작동 중입니다 ..."라고보고하기 위해 이와 같은 작업을 수행 할 수 있습니다. Anabilities가 진정한 비동기 프로세스를 아직 지원하지 않는 것은 부끄러운 일입니다. – Brian
실제로 이것은 CloudFormation 모듈에서는 작동하지 않습니다. 다시 말하지만 단순한 쉘 명령 만 비동기 적으로 (또는 백그라운드 프로세스로) 실행할 수 있습니다. ** 따라서 응답은 여전히 구체적입니다 **. – Brian