我已经创建了我的第一个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)
我检查了日志,但他们没有显示任何错误
谢谢,亚历克斯
答案 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
}
这会将日志放在与脚本位于同一目录的日志文件夹中。