Ruby on rails 与乘客一起回顾Rails 4应用程序的程序文件
我正在尝试使用Capistrano部署Rails 4应用程序。在报告中,它说: ruby配方[…]包括foreman支持,启动和重新启动Procfile中定义的流程 每次部署我的应用程序都需要重新启动两个进程: 乘客 延迟工作 我已将gem“foreman”添加到我的gem文件中,我尝试创建一个Procfile:Ruby on rails 与乘客一起回顾Rails 4应用程序的程序文件,ruby-on-rails,capistrano,passenger,procfile,Ruby On Rails,Capistrano,Passenger,Procfile,我正在尝试使用Capistrano部署Rails 4应用程序。在报告中,它说: ruby配方[…]包括foreman支持,启动和重新启动Procfile中定义的流程 每次部署我的应用程序都需要重新启动两个进程: 乘客 延迟工作 我已将gem“foreman”添加到我的gem文件中,我尝试创建一个Procfile: # Procfile web: sudo service nginx restart worker: bin/delayed_job restart 但这显然是错误的,因为部署时不会
# Procfile
web: sudo service nginx restart
worker: bin/delayed_job restart
但这显然是错误的,因为部署时不会重新启动任何程序
正确的Procfile是什么样子的
或者,如果这只是一开始采取的错误方法,那么有什么更好的方法可以确保在每次部署时重新启动这些流程呢?我最终放弃了foreman,而是使用以下代码 因为我在服务器上以其他用户的身份启动了延迟的_作业,并且应用程序用户没有停止其他用户进程的权限,所以我必须首先手动停止服务器上的延迟的_作业
# in Capfile
namespace :passenger do
task :restart do
run "touch /home/intouchsys/app/tmp/restart.txt"
end
end
namespace :delayed_job do
task :restart do
as_app "bin/delayed_job restart"
end
end
after "deploy", "passenger:restart"
after "deploy", "delayed_job:restart"