我是厨师新手。我有一个配方,我需要启动服务器,然后等待服务器成功启动。到目前为止,我有这个;
service "myserver" do
action :start
end
execute "ensure myserver startup" do
command "curl http://#{node['myserver']['http']['host']}:#{node['myserver']['http']['port']}"
retries 5
retry_delay 15
end
这对我来说似乎并不合适,对于厨师脚本来说似乎很常见。等待服务器启动的惯用方法是什么?
答案 0 :(得分:0)
另一种方法是使用ruby块并使用属性来控制重试次数,重试之间的休眠时间。这也有助于记录,引发错误。 This is a sample code performing a similar problem。这里服务出现时,ZooKeeper中的一个条目作为znode,因此ruby_block正在检查znode_exists?。您可以将其替换为curl
。