在创建文件之前,切掉ruby块

在创建文件之前,切掉ruby块,ruby,chef-infra,Ruby,Chef Infra,我是ruby的新手,问题是如何在chef中执行ruby_块,直到创建文件为止 我用另一个ruby块开始我的代码,比如 ruby_block "block_until_not_operational" do block do 10.times do if IO.popen("netstat -lnt").entries.select { |entry| entry.split[3] =~ /:#{node[:jboss][:default_port]}$

我是ruby的新手,问题是如何在chef中执行ruby_块,直到创建文件为止

我用另一个ruby块开始我的代码,比如

ruby_block "block_until_not_operational" do
  block do
    10.times do
      if IO.popen("netstat -lnt").entries.select { |entry|
          entry.split[3] =~ /:#{node[:jboss][:default_port]}$/
        }.size == 0
        break
      end
      Chef::Log.debug("service[jenkins] still listening (port #{node[:jboss][:default_port]})")
      sleep 1
    end
  end
  action :nothing
end

也许可以以詹金斯食谱为例:

如果有一个由其他资源中的notify操作触发的“block_until_operation”ruby块,例如:

  notifies :start, 'service[jenkins]', :immediately
  notifies :create, 'ruby_block[block_until_operational]', :immediately

也许可以以詹金斯食谱为例:

如果有一个由其他资源中的notify操作触发的“block_until_operation”ruby块,例如:

  notifies :start, 'service[jenkins]', :immediately
  notifies :create, 'ruby_block[block_until_operational]', :immediately

那么这个代码有什么问题?那么这个代码有什么问题?