[有一个带有红宝石块的厨师食谱。将执行红宝石块,直到可以建立套接字连接为止(重试10)。在无法建立连接的情况下,ruby-block应该不会失败(ignore_failure)。
示例:
ruby_block 'wait for service' do
block do
require 'socket'
require 'timeout'
Timeout.timeout(2) do
s = TCPSocket.new('127.0.0.1', 8080)
s.close
end
end
retries 10
retry_delay 5
ignore_failure true
action :run
end
厨师文档尚不清楚ignore_failure
设置为true
时是否重复执行红宝石块。
我的测试证明重试无效。由于套接字连接失败,该块仅执行一次。