cmd执行命令不等待返回值_devops干货:saltstack执行命令超时

#程序员# #DevOps# #saltstack# #自动化运维# #干货#

我是一个在北京互联网厂子里996的程序员,一边学习追赶新技术,怕被潮流甩下掉队,一边学习投资理财方法,让自己的薪水滚雪球。我相信,越努力越幸运,虽然刚开始雪球滚起来很慢,但是只要坚持下去,它就会越滚越快,自己的养老就靠它了。在财富自由的道路上,我与你共勉。欢迎来评论区与我交流心得和干货,这样我们就可以收获更多。

大家都知道,devops领域里面做自动化运维的工具有saltstack和ansible,我最常用的saltstack,这里跟大家分享下saltstack执行命令时的超时机制。上小知识。

c8665aed717da4c90bce6d025ad387ca.png

salt cli在给发送命令的时候,有个参数”-t, –timeout”, 表面上看是超时控制,其实文档说的很明白,其意思是如果salt cli在等待了这个timeout时间后minion还是没有返回结果回来,那么就用find_job去query一下minion询问当前执行状态。如果在如果find_job超时过了gather_job_timeout设定的时间,那么salt命令会返回:Minion did not return. [No response]。 这个参数并不是我们通常所理解的超时控制。参考 saltmaster configuration 和 SaltStack Event系统监听events测试。并且可以参看源代码salt/salt/client/__init__.py验证。

在通过cmd.run执行命令的时候,真正可以控制超时就终止命令执行的方法是:salt '*' cmd.run 'sleep 5; echo OK' timeout=1,参考这里,文中的其他命令执行方法也有超时控制。

Master中控制timeout的参数

  • gather_job_timeout: default 10,The number of seconds to wait when the client is requesting information about running jobs.
  • TIMEOUT:Default 5,Set the default timeout for the salt command and api.

好了,今天的分享就到这里。 如果大家觉得我的分享对你有用,还请点一点关注,在评论区跟我交流,我会持续分享一些有用的知识点和心得。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值