2010-08-31 135 views
2

我有一個守護進程,應該在我的Rails應用程序後面執行數據庫修改。我使用ruby守護進程實現了守護進程gem。我想在我的應用程序開始時啓動該守護進程。每當我的應用程序啓動時,我需要啓動該守護進程。守護進程啓動應用程序啓動

我該怎麼做..?

回答

2

如果你必須Rails的初始化過程中啓動它:

  1. 創建Ruby文件,將啓動守護進程。說invoke_daemon.rb
  2. 將這個文件中config/initializers/invoke_daemon.rb

但是,如果它不是強制性的,我建議建立一個二進制可執行文件或rake任務並通過手動命令行啓動它。這樣它作爲一個單獨的過程運行。您可以簡單地將其添加到生產框的部署腳本中,並在開發框中手動運行它。一些示例將是searchd,來自thinking_sphinx的搜索守護進程sphinxthinking_sphinx:delayed_delta rake任務。

2

對於你的知識,你必須採取的 Rails Life cycle

看看我剛​​剛實現了這個事情。我已經在Windows7上實現。
我已經創建了一個批處理文件,比如my_batch.bat,其中包含ruby命令,即ruby​​ my_daemon.rb文件。
此外,爲了在我的應用程序啓動時執行此文件,我剛剛在environment.rb文件中添加了一條執行該批處理文件的語句。即系統(「my_batch.bat」)。
但我不確定這是實施此任務的好方法。