Rubygem God: настройка времени для процесса - PullRequest
2 голосов
/ 18 мая 2011

Я использую Resque, Resque-Scheduler Gems в моем приложении rails.Чтобы контролировать работу спасателей, я использую инструмент Бога.Я хочу добавить такую ​​конфигурацию бога, которая будет контролировать время выполнения работы в resque worker.Если выполнение процесса превышает ограничение по времени, он должен перезапустить работника.

Я прочитал сообщение на http://god.rubyforge.org/. Однако, не смог посмотреть правильную базу кода для моего требования.

Любая информация будет высоко оценена..

Ответы [ 2 ]

0 голосов
/ 17 апреля 2012

У меня та же проблема:

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

Вот решение для наблюдения за дочерним процессом:

https://github.com/mojombo/god/issues/90 https://github.com/jbgo/god/commit/918bc278e4ca5b8133fe34db06c30ccb93dcb7f0

вы можете использовать свой собственный камень, разветвленный от источника, чтобы добавить эти файлы, я предпочел потребовать новые файлы из рецептов бога ...

Для проблемы времени вы можете развить новое условие как данное для него (я делаю это и опубликую это здесь).

0 голосов
/ 30 октября 2011

Вы можете сделать что-нибудь, когда ваша работа создаст pid-файл, который вы можете использовать в FileMtime для отслеживания состояния.Когда задание завершено, он заново создает файл pid, если файл старше x, перезапустите процесс с помощью god.

source: https://github.com/mojombo/god/blob/856d321fb135a0b453046e99c266231681bd5ffe/lib/god/conditions/file_mtime.rb

Редактировать: Добавлен источник github

...