Рубиновые демоны - работают, но не работают - PullRequest
1 голос
/ 07 сентября 2010

Я создал свой первый демон 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)

Я проверил логи, но они не показывают никаких ошибок

Спасибо, alex

1 Ответ

1 голос
/ 18 октября 2012

Проблема в том, что ваш скрипт изменит свой каталог на "/" при запуске процесса демона.

Вот способ это исправить:

current_dir = Dir.pwd

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

Это поместит журналы в папку журнала, которая находится в том же каталоге, что и ваш скрипт.

...