我shell: docker ps ...在我的一些剧本中执行任务.这通常有效但有时docker守护进程挂起并且docker ps不会返回~2小时.
如果docker ps不返回,如何在合理的时间内将Ansible配置为超时?
Vij*_*esh 29
2.10版本中添加了A task timeout(以秒为单位),这在此类场景中很有用。
例如,以下剧本在2.10版本中失败:
---
- hosts: localhost
connection: local
gather_facts: false
tasks:
- shell: |
while true; do
sleep 1
done
timeout: 5
...
Run Code Online (Sandbox Code Playgroud)
带有如下错误消息:
TASK [shell] **************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "The shell action failed to execute in the expected time frame (5) and was terminated"}
Run Code Online (Sandbox Code Playgroud)
Ansible中没有实现任务超时功能.
您可以尝试使用异步调用的解决方法,但对于这种情况(显然是一种错误)依赖于系统可能更容易,更合适.
请参阅GNU timeout命令(如果您运行Docker,则可能是您的操作系统上存在命令):
shell: timeout 5m docker ps ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8562 次 |
| 最近记录: |