我有一個守護進程,應該在我的Rails應用程序後面執行數據庫修改。我使用ruby守護進程實現了守護進程gem。我想在我的應用程序開始時啓動該守護進程。每當我的應用程序啓動時,我需要啓動該守護進程。守護進程啓動應用程序啓動
我該怎麼做..?
我有一個守護進程,應該在我的Rails應用程序後面執行數據庫修改。我使用ruby守護進程實現了守護進程gem。我想在我的應用程序開始時啓動該守護進程。每當我的應用程序啓動時,我需要啓動該守護進程。守護進程啓動應用程序啓動
我該怎麼做..?
如果你必須Rails的初始化過程中啓動它:
invoke_daemon.rb
config/initializers/invoke_daemon.rb
但是,如果它不是強制性的,我建議建立一個二進制可執行文件或rake
任務並通過手動命令行啓動它。這樣它作爲一個單獨的過程運行。您可以簡單地將其添加到生產框的部署腳本中,並在開發框中手動運行它。一些示例將是searchd
,來自thinking_sphinx
的搜索守護進程sphinx
和thinking_sphinx:delayed_delta
rake任務。
對於你的知識,你必須採取的 Rails Life cycle
看看我剛剛實現了這個事情。我已經在Windows7上實現。
我已經創建了一個批處理文件,比如my_batch.bat,其中包含ruby命令,即ruby my_daemon.rb文件。
此外,爲了在我的應用程序啓動時執行此文件,我剛剛在environment.rb文件中添加了一條執行該批處理文件的語句。即系統(「my_batch.bat」)。
但我不確定這是實施此任務的好方法。