Chef infra 如何通过厨师烹饪手册开始重新招聘员工?
我是Chef的新手,我希望通过我的菜谱在每次部署后重新启动云节点上的resque workers。resque提供了一个Rake任务来启动工人Chef infra 如何通过厨师烹饪手册开始重新招聘员工?,chef-infra,resque,chef-recipe,cookbook,Chef Infra,Resque,Chef Recipe,Cookbook,我是Chef的新手,我希望通过我的菜谱在每次部署后重新启动云节点上的resque workers。resque提供了一个Rake任务来启动工人 QUEUE='*' bundle exec rake environment resque:work >>/log/resque.log 2>&1 & 要停止它,我对resque进程进行grep处理并手动终止它 我找不到任何关于如何在Chef中运行rake任务的好例子。有人能帮我提供一个示例服务,它将实现我想要的功能吗
QUEUE='*' bundle exec rake environment resque:work >>/log/resque.log 2>&1 &
要停止它,我对resque进程进行grep处理并手动终止它
我找不到任何关于如何在Chef中运行rake任务的好例子。有人能帮我提供一个示例服务,它将实现我想要的功能吗?使用
操作创建一个执行资源:无任何内容将用于重新启动工作程序(根据需要进行调整):
然后,在部署资源上添加:
application "app" do
...
notifies :run, "execute[restart_resque_workers]"
end
理想情况下,停止
、启动
和重新启动
机制将由适当的服务处理,但在任何情况下,整体模式都是相同的
通知
属性只有在应用程序
资源被修改时才会生效(通常这意味着新的部署)
有关通知的更多信息
穷人的服务可能是这样的:
service 'resque_workers' do
start = "QUEUE='*' bundle exec rake environment resque:work >>/log/resque.log 2>&1"
stop = "pkill resque"
start_command start
stop_command stop
restart_command "#{stop}; #{start}"
supports [ :start, :stop, :restart ]
end
然后在应用程序
资源中使用通知:重新启动“服务[resque_workers]”
。感谢您将服务写出来……)NP我刚刚为我的一本烹饪书做了类似的事情,所以我把它放在这里。:)请注意,这不是您可以在操作系统上使用service rescue\u workers start/stop
管理的实际服务。如果出于任何原因您需要在框本身上管理它,您仍然需要自己运行这些命令。
service 'resque_workers' do
start = "QUEUE='*' bundle exec rake environment resque:work >>/log/resque.log 2>&1"
stop = "pkill resque"
start_command start
stop_command stop
restart_command "#{stop}; #{start}"
supports [ :start, :stop, :restart ]
end