如何在deploy_revision提供程序中设置超时?

时间:2013-01-28 07:09:42

标签: chef

我发现厨师在git clone命令中生成了Chef :: Exceptions :: CommandTimeout异常的情况。有时git clone的时间可能超过10分钟。如何在厨师食谱中为这种情况设置超时值?

3 个答案:

答案 0 :(得分:5)

git提供程序的超时似乎现在已经修复。

查看代码:https://github.com/opscode/chef/blob/master/lib/chef/provider/git.rb#L292

因此,对于git资源,您只需添加timeout属性,即:

git /var/www do
  repository <githubrepo>
  action :sync
  user www-data
  group www-data
  timeout 1200
end

答案 1 :(得分:1)

没有简单的方法来改变超时,我的意思是传递一些属性。您必须在git provider中覆盖run_options方法。查看When monkey patching a method, can you call the overridden method from the new implementation?了解不同的可能性。

答案 2 :(得分:0)

同样的问题。谢谢你的提示。能够像这样编写猴子补丁:

https://gist.github.com/mikesmullin/5660466