如果跳过相关任务,我想跳过下面的可执行进度任务吗?我将如何实现它?
- name: long running shell
shell:
cmd: '/opt/apps/long_running_script.sh'
async: 1000
poll: 0
when:
verify.rc != 0
register: check_status
- name: Check on long running step
async_status:
jid: "{{ check_status.ansible_job_id }}"
register: job_result
until: job_result.finished
retries: 90
delay: 10
我尝试使用when: check_status is finished
,但在跳过第一个任务时看到错误。
当跳过任务时,生成的变量将具有值为true
的属性名称skipped
,因此您应该能够编写如下逻辑。
when: check_status.skipped | default(false)
将需要默认值,因为对于常规流(未跳过(,跳过的属性在check_status
中不可用。
或者,
when: check_status.skipped is defined and check_status.skipped
更简单的是@β.εηιτ.βε评论,
when: check_status is skipped