Мы запускаем приложение с полдюжины mongrels. Новая функция, которую мы добавили, - планировщик (rufus-scheduler), который работает внутри mongrel и обеспечивает обработку задач в виде cron-фона. Мы хотим, чтобы этот планировщик выполнял только один из наших mogrels, но мы не можем понять, как - во время запуска (environment.rb) - идентифицировать конкретного монгреля для запуска планировщика.Ruby on Rails: Как определить конкретный экземпляр mongrel в кластере во время запуска?
Мы создали файл yaml с настройкой для порта # для mongrel, в котором мы хотели бы запустить планировщик. Во время запуска в enviromnent.rb мы хотели бы запросить файл yaml, получить порт, а затем сравнить его с загружаемым экземпляром - если это то же самое, запустите планировщик.
Кто-то недавно ответил, что мы должны посмотреть на request.port - при загрузке объекта запроса нет. Где еще хранится порт #? Или, как мы можем передать парм отдельному дворнягу или сравнить его с настройкой, чтобы идентифицировать себя?
Заранее спасибо ...
Рассел
Есть ли причина, по которой вам нужно сделать это в кластере Mongrel? Похоже, возможно, вы могли бы поместить желаемую функциональность в сценарий (запускать через скрипт/бегун) или демон, отдельно от своих экземпляров приложений, обслуживающих веб-запросы. У меня был некоторый успех с драгоценным камнем Ruby Daemons для таких вещей. – samg