Ruby on rails 与乘客一起回顾Rails 4应用程序的程序文件

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 但这显然是错误的,因为部署时不会

我正在尝试使用Capistrano部署Rails 4应用程序。在报告中,它说:

ruby配方[…]包括foreman支持,启动和重新启动Procfile中定义的流程

每次部署我的应用程序都需要重新启动两个进程:

乘客 延迟工作 我已将gem“foreman”添加到我的gem文件中,我尝试创建一个Procfile:

# 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"