複数のデーモンで同じスクリプトを実行しようとしています。
myapp.rb
このように見えます:
loop do
sleep 5
1 / 0 # crash it
end
私のmyapp_controller.rb
:
require 'rubygems'
require 'daemons'
options = {
:log_output => true,
:backtrace => true,
:monitor => true,
:multiple => true,
:log_dir => '/mnt/log/',
:hard_exit => true
}
Daemons.run(File.join(File.dirname(__FILE__), 'myapp.rb'), options)
ruby myapp_controller.rb start
連続して数回実行すると、予想どおり、その数のデーモンが作成されます。しかし、しばらくするとmyapp.rb
、デーモンのエラーが原因でクラッシュし、モニターがすべてではなく1つだけ再起動します。そのため、デーモンが1つ実行されることになります。
なんで?私は何が間違っているのですか?