厨师:如何在 ruby 块中增加 Mixlib::ShellOut 的 CommandTimout?
chef: How do I increase the CommandTimout for Mixlib::ShellOut in a ruby block?
我正在尝试使用基于 Chef 11.10.4 的客户端在 Ubuntu 14.04 系统上的 Chef 食谱中执行数据库数据加载。我在 ruby 块中进行数据加载,这里是日志中错误的相关部分:
Mixlib::ShellOut::CommandTimeout
Command timed out after 600s:
Command exceeded allowed execution time, killed by TERM signal.
[2015-10-06T01:24:00+00:00] ERROR: ruby_block[Load Dataset] (chef-virtuoso::load line 178) had an error:
Mixlib::ShellOut::CommandTimeout: Command timed out after 600s:
有人知道如何将 ruby 块中 shell_out!
的默认 CommandTimeout 增加到 3600 吗?
这是配方中失败的 ruby 方块:
::Chef::Recipe.send(:include, Chef::Mixin::ShellOut)
ruby_block "Load Dataset" do
block do
shell_out!(DATA_LOAD_COMMAND)
end
end
根据 mixlib-shellout code and chef mixin shell_out code,您应该可以像这样使用 timeout
选项:
ruby_block "Load Dataset" do
block do
shell_out!(DATA_LOAD_COMMAND, :timeout => 3600)
end
end
您不必将 Class 发送到 Recipe 中,它已经是 DSL 的一部分。
我正在尝试使用基于 Chef 11.10.4 的客户端在 Ubuntu 14.04 系统上的 Chef 食谱中执行数据库数据加载。我在 ruby 块中进行数据加载,这里是日志中错误的相关部分:
Mixlib::ShellOut::CommandTimeout
Command timed out after 600s:
Command exceeded allowed execution time, killed by TERM signal.
[2015-10-06T01:24:00+00:00] ERROR: ruby_block[Load Dataset] (chef-virtuoso::load line 178) had an error: Mixlib::ShellOut::CommandTimeout: Command timed out after 600s:
有人知道如何将 ruby 块中 shell_out!
的默认 CommandTimeout 增加到 3600 吗?
这是配方中失败的 ruby 方块:
::Chef::Recipe.send(:include, Chef::Mixin::ShellOut)
ruby_block "Load Dataset" do
block do
shell_out!(DATA_LOAD_COMMAND)
end
end
根据 mixlib-shellout code and chef mixin shell_out code,您应该可以像这样使用 timeout
选项:
ruby_block "Load Dataset" do
block do
shell_out!(DATA_LOAD_COMMAND, :timeout => 3600)
end
end
您不必将 Class 发送到 Recipe 中,它已经是 DSL 的一部分。