2012-12-05 112 views
3

我想使用gem daemon_controller自動運行faye。
我的班級如何使用守護進程控制器自動啓動faye?

require "daemon_controller" 
class FayeDaemon 
def initialize 
    @controller = DaemonController.new(
     :identifier => 'Faye server', 
     :start_command => "rackup faye.ru -s thin -E production", 
     :ping_command => [:tcp , 'localhost', 9292], 
     :log_file  => 'log/faye.log', 
     :pid_file  => 'tmp/pids/faye.pid', 
     :start_timeout => 5 
    ) 
end  

    def start 
    @controller.start 
    end 
end 

功能我爲的before_filter使用的ApplicationController

def start_faye 
fayes = FayeDaemon.new 
fayes.start 
end 

結果王菲不會錯誤
DaemonController :: StartTimeout(守護進程「王菲服務器上運行'沒有及時守護神。)

當fayes.start被調用。

我做錯了什麼?

回答

2

我強烈建議你使用工頭代替deamon_controller,你可以找到很好的介紹here。只需安裝gem,在rails根目錄下創建'Procfile'。並創造兩份工作,一個用於服務器和其他的王菲,也可能是這樣的:

web: bundle exec rails server webrick -b 127.0.0.1 -p 3000 -e development 
faye: bundle exec rackup faye.ru -s thin -E production 

foreman start 
開始工頭