Начиная бог через рельсы сервер / пассажир? - PullRequest
0 голосов
/ 16 июля 2011

Следующая ситуация:

У меня есть сервер и некоторые грабли, которые должны выполняться все время, например: 1003*

# email_sender.rake (except only)
while true
  fetch all mail entries.each do |mail|
     mail.deliver
  end
end

или другое рейк-задание

# update_market.rake (except only)
while true
  Market.fetch_exchange_rate!
  sleep 1
end

Для запуска и остановки этих рейковых заданий я использую драгоценный камень, и он работает довольно хорошо. Но одна вещь мне не ясна: могу ли я запустить свой бог сервер в рельсах с инициализатором? F.E.

# rails_root/config/initializers/start_god.rb
system 'god -c /www/rails_root/config/god.config'

Я пробовал это в своей среде разработки, и, как я хотел, сервер работает, даже если я выхожу из сервера rails.

Но есть ли какие-либо предостережения при запуске в рабочем режиме?

Спасибо за ваше мнение!

p.s. Я НЕ ХОЧУ ИСПОЛЬЗОВАТЬ CRON! Это решение идеально подходит для меня, и я не хочу переходить на другую систему планировщика / очереди / фоновой работы!

Ответы [ 2 ]

0 голосов
/ 12 ноября 2012

Что вы используете для развертывания приложения? Если вы используете Capistrano, например, вы должны использовать Capistrano для запуска и перезагрузки бога (в вашей производственной среде).

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

0 голосов
/ 16 июля 2011

Использование инициализатора Rails, вероятно, не лучший способ запустить этот процесс, это не совсем то, для чего они были предназначены.Вы смотрели на Формана с Procfile?Это может подойти вам.

http://ddollar.github.com/foreman/

...