2015-10-06 2 views
1

Я пытаюсь выполнить загрузку данных базы данных в рецепте шеф-повара в системе Ubuntu 14.04 с клиентом на основе шеф-повара 11.10.4. Я делаю загрузку данных в рубинового блока и здесь соответствующие части ошибки в журнале:chef: Как увеличить CommandTimout для Mixlib :: ShellOut в блоке 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:

Любой знает, как увеличить умолчанию CommandTimeout на 3600 для shell_out! в рубинового блоке?

Вот рубин блок из рецепта, что не удается:

::Chef::Recipe.send(:include, Chef::Mixin::ShellOut) 

ruby_block "Load Dataset" do 
    block do 
    shell_out!(DATA_LOAD_COMMAND) 
    end 
end 

ответ

1

По mixlib-shellout code и шеф Mixin shell_out code вы должны быть в состоянии использовать timeout вариант, как это:

ruby_block "Load Dataset" do 
    block do 
    shell_out!(DATA_LOAD_COMMAND, :timeout => 3600) 
    end 
end 

You не нужно отправлять класс в Рецепт, он уже является частью DSL.

Смежные вопросы