Проблемы с богом

Так что у меня проблемы с надежностью бога. Возможно, мне придется перезагрузить несколько раз, прежде чем все получится.

OSX 10.6.8
Ruby 1.9.3-p236
god 0.13.2

У меня есть файл конфигурации, где я указываю мониторинг двух процессов, как это:

bindir = "/Users/me/foobar"
basedir = "/Users/me/foobar"

God::Contacts::Email.defaults do |d|
  d.from_email = 'god@example.copm'
  d.from_name = 'God'
  d.delivery_method = :sendmail
end

God.contact(:email) do |c|
  c.name = 'me'
  c.group = 'foobar'
  c.to_email = 'me@example.com'
end

God.watch do |w|
  w.name = "foo"
  w.group = "foobar"
  w.dir = basedir
  w.log = "logs/foo.log"
  w.start = "ruby #{bindir}/foo.rb"
  w.keepalive

  w.transition(:up, :start) do |on|
    on.condition(:process_exits) do |c|
      c.notify = 'me'
    end
  end
end

God.watch do |w|
  w.name = "bar"
  w.group = "foobar"
  w.dir = basedir
  w.log = "logs/bar.log"
  w.start = "ruby #{bindir}/bar.rb"
  w.keepalive

  w.transition(:up, :start) do |on|
    on.condition(:process_exits) do |c|
      c.notify = 'me'
    end
  end
end

Если я начну с "-D" и увижу его в консоли, он всегда будет работать нормально, и мои процессы начнутся.

god -c foobar.god -D

Все хорошо. Тогда я также могу запустить такие вещи, как:

god status
god stop foobar
god start foobar
god terminate foobar

Все работает.

Теперь, если я запускаю без опции -D, либо (а) работает как следует, (б) бог запускает процессы, но сам не (или умирает), либо (в) ничего не запускается вообще.

Я искал какую-то запись в журнале, но не смог найти ничего, что указывало бы на сбой. Кроме того, как я уже описал, это время от времени работает. Просто не каждый раз.

Другая проблема, с которой я столкнулся (я не знаю, связано ли это как-то в данный момент), заключается в том, что, когда бог и все мои процессы работают нормально (без -D), в большинстве случаев невозможно успешно отправлять ему команды., То есть что-то вроде

god stop foobar

просто не заканчивается и просто приводит к множеству точек

god terminate foobar
..............................................

и в то же время я могу видеть в верхней части, что бог начинает занимать много процессора.

Я должен нажать Ctrl-C и затем убить процесс бога с -9, а затем вручную очистить отслеживаемые процессы.

В Интернете я не нашел ничего похожего на то, что я описал. Я бы очень хотел узнать, что происходит. Может кто-нибудь помочь или у вас есть предложения, что я могу попробовать?

Заранее спасибо!

ОБНОВИТЬ:

Процесс уничтожения бога приводит к следующей трассировке стека:

/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:570:in `load '
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:632:in `recv_reply '
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:918:in `recv_reply '
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1197:in `send_message '
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1088:in `блок (2 уровня) в method_missing'
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1172:in `open'
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing'
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend'
/Users/me/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing'
/Users/me/.rvm/gems/ruby-1.9.3-head/gems/god-0.13.2/lib/god/cli/command.rb:183:in `terminate_command'
/Users/me/.rvm/gems/ruby-1.9.3-head/gems/god-0.13.2/lib/god/cli/command.rb:30:in `dispatch'
/Users/me/.rvm/gems/ruby-1.9.3-head/gems/god-0.13.2/lib/god/cli/command.rb:10:in `initialize'
/Users/me/.rvm/gems/ruby-1.9.3-head/gems/god-0.13.2/bin/god:121:in `new'
/Users/me/.rvm/gems/ruby-1.9.3-head/gems/god-0.13.2/bin/god:121:in `'
/Users/me/.rvm/gems/ruby-1.9.3-head/bin/god:19:in `load'
/Users/me/.rvm/gems/ruby-1.9.3-head/bin/god:19:in `'
/Users/me/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `eval'
/Users/me/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `'

Поиск в сети поймал эту ошибку в Ruby.

0 ответов

Другие вопросы по тегам