2010-08-31 3 views
2

У меня есть демон, который должен работать за моим rails-приложением, выполняющим db-модификации. Я реализовал этот демон с использованием камней-демона ruby. Я хочу запустить этот демон в начале моего приложения. Когда начнется мое приложение, мне нужно запустить этот демон.Daemon Начать загрузку приложения

Как я могу это сделать ..?

ответ

2

Если вы должны запустить его во время инициализации Rails:

  1. Создать рубиновый файл, который будет запустить демон. Скажем invoke_daemon.rb
  2. Поместите этот файл в config/initializers/invoke_daemon.rb

Однако, если это не является обязательным, я бы предложил создать двоичный исполняемый файл или rake задачу и вручную запустить его с помощью командной строки. Таким образом, он работает как отдельный процесс. Вы можете просто добавить его в свои сценарии развертывания для производственных ящиков, а в окне разработки запустите его вручную. Несколько примеров: searchd, демон поиска для sphinx и thinking_sphinx:delayed_delta rake task from thinking_sphinx.

2

Для вашего знания, которые вы должны принять вид Rails Life cycle

Я просто реализовал эту вещь. Я реализовал на Windows7.
Я создал один пакетный файл, скажем, my_batch.bat, который содержит команду ruby ​​i.e ruby ​​my_daemon.rb файл.
Кроме того, чтобы выполнить этот файл при запуске приложения, я только что добавил один оператор в файле environment.rb, который выполняет этот командный файл. т.е. системы («my_batch.bat»).
Но я не уверен, что это хороший способ реализовать эту задачу.

Смежные вопросы