2009-12-08 11 views
1

我們運行一個應用程序與半打雜種。我們添加的新功能是一個調度程序(rufus-scheduler),它運行在雜種中並提供類似cron的後臺任務處理。我們希望ot只在我們的一個mongrels上運行這個調度程序,但我們無法弄清楚 - 在啓動過程(environment.rb) - 如何確定啓動調度程序的具體雜種。Ruby on Rails:如何在啓動過程中檢測集羣中的特定mongrel實例?

我們已經建立一個yaml文件,其中包含我們希望啓動調度程序的雜種的port#的設置。在啓動過程中,在enviromnent.rb中,我們想查詢yaml文件,獲取端口,然後將其與啓動的實例進行比較 - 如果相同,則啓動調度程序。

有人最近回答說,我們應該看看request.port - 當你啓動時沒有請求對象。端口號存儲在哪裏?或者,我們怎樣才能把一個parm傳遞給一個單獨的雜種,或者將它與自己的身份相提並論?

在此先感謝...

羅素

+0

是否有什麼原因需要在Mongrel羣集中執行此操作?聽起來像是也許你可以把所需的功能放在一個腳本(通過腳本/運行器運行)或一個守護進程中,與提供Web請求的應用程序實例分開。對於像這樣的東西,我已經在紅寶石守護進程中獲得了一些成功。 – samg 2009-12-08 04:35:36

回答

0

我問same question幾個星期回來。

要點:

  1. 名爲 'Rooster' 一個插件解決 這個問題。
  2. 使用共享資源 就像文件一樣同步。
相關問題