使用自己的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。
答案 0 :(得分:0)
一般来说,没有。或者更具体地说,Chef总体上无法处理异步操作。