RAILS_ROOT = File.dirname(File.dirname(__FILE__))
God.watch do |w|
pid_file = File.join(RAILS_ROOT, "tmp/pids/server.pid")
w.name = "thin"
w.interval = 60.seconds
w.start = "rails server -e production"
w.stop = "kill -s QUIT $(cat #{pid_file})"
w.restart = "kill -s HUP $(cat #{pid_file})"
w.start_grace = 20.seconds
w.restart_grace = 20.seconds
w.pid_file = pid_file
w.behavior(:clean_pid_file)
# When to start?
w.start_if do |start|
start.condition(:process_running) do |c|
# We want to check if deamon is running every ten seconds
# and start it if itsn't running
c.interval = 10.seconds
c.running = false
end
end我试过w.start = "rails server -e production“,但是它不工作
信息: thin 'up‘to 'up’I 2014-05-02 23:37:09 INFO: thin触发器进程未运行(ProcessRunning) I 2014-05-02 23:37:09信息: thin 'up‘to 'start’
发布于 2014-05-03 14:42:15
为thin创建rake任务
namespace :server do
desc "start thin server"
task start: :environment do
puts Rails.root
`cd #{Rails.root}`
str = "rails s -e production"
puts "Starting server"
`#{str}`
end
end然后像这样开始
w.start = "cd #{RAILS_ROOT} & rake服务器:启动“
如果你使用exec rails的-e产品,那么神守护进程将被退出,并且你会得到服务器不可用的错误。所以你需要一个rake任务
https://stackoverflow.com/questions/23434987
复制相似问题