我的rails 3.1应用程序中有一个自定义守护进程。如果我调用

ruby script/daemon.rb start

在我的生产环境中,如果我使用相同的命令,守护进程将启动,但它将立即关闭,并且在我的日志中没有任何跟踪另一方面,如果我使用
ruby script/daemon.rb run

它起作用了为什么?我在哪能找到记录下发生了什么?
我的守护进程脚本如下:
require 'daemons'
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))

Daemons.run_proc('mydaemon') do
  logger = ActiveSupport::BufferedLogger.new(
    File.join(Rails.root, "log", "mydaemon.log"),Logger::INFO)
  Rails.logger = logger
  ActiveRecord::Base.logger = logger

  loop do
    MyClass.dosomething
    sleep(5)
  end
end

最佳答案

查看守护程序gem的文档:http://daemons.rubyforge.org/classes/Daemons.html#M000005
具体来说,请查看:log_output选项。

关于ruby-on-rails - 带有Rails 3.1的Ruby守护程序可以在生产环境中使用“运行”,而不能与“启动”一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8149357/

10-12 22:42
查看更多