厨师在窗户上产生背景红宝石过程

时间:2017-03-30 15:27:50

标签: ruby asynchronous chef

使用自己的ruby解释器是否可以使用chef生成新的ruby进程?或者,是否可以异步运行ruby代码?我的用例是我想要自动化的安装文件,但它没有静默安装选项。我有一个自动助手,使用win32ole来自动安装。

我当前的食谱使用看起来像

的自定义资源
action :install do
  # calling automate here happens too soon
  windows_package 'ESP' do
    # calling automate here won't happen until after the setup
    action :install
    source repo_from_version('sw', new_resource.version)
    installer_type :custom
    only_if { registry_data_exists?(csreg(node), :name => 'Version', :type => :string, :data => '6.0.0') }
  end
end

action_class do
  include MyModule::Helpers # defines automate
end

我想我可能会将自动代码放在自己的文件中,并在调用windows_package之前使用spawn创建一个新的ruby进程,并让该进程在尝试自动化之前休眠3秒钟。但是除了内置的厨师解释器之外,这台服务器不会安装ruby。

1 个答案:

答案 0 :(得分:0)

一般来说,没有。或者更具体地说,Chef总体上无法处理异步操作。