ruby守护进程 - 运行但不起作用

时间:2010-09-07 15:27:59

标签: ruby daemon

我已经创建了我的第一个ruby守护进程,它可以正常运行大约一天,但它会停止运行但它仍然出现在/ var / run文件夹中。

这是我的控制代码 -

require 'rubygems'
require 'daemons'
dir = File.dirname(__FILE__)
options = {
 :app_name => "rk_mail",
 :dir_mode => :system,
 :backtrace  => true,
 :log_output => true,
 :monitor    => true
}
Daemons.run(dir + '/mail_receiver.rb', options)

我检查了日志,但他们没有显示任何错误

谢谢,亚历克斯

1 个答案:

答案 0 :(得分:1)

问题是您的脚本在启动守护程序进程时会将其目录更改为“/”。

这是解决问题的方法:

current_dir = Dir.pwd

options = {
  :backtrace => true,
  :app_name => "test",
  :log_dir => "#{current_dir}/log",
  :log_output => true,
  :dir_mode => :normal,
  :monitor => true
}

这会将日志放在与脚本位于同一目录的日志文件夹中。