3

gemdaemon_controllerを使用して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

ApplicationControllerでbefore_filterとして使用する関数

 def start_faye
 fayes = FayeDaemon.new
 fayes.start
 end

その結果、fayeはエラー
DaemonController :: StartTimeoutで実行されません(デーモン'Fayeサーバー'は時間内にデーモン化されませんでした。)

fayes.startが呼び出されたとき。

私が間違ったことは何ですか?

4

1 に答える 1

2

deamon_controller の代わりに foreman を使用することを強くお勧めします。gem をインストールして、Rails ルート ディレクトリに「Procfile」を作成するだけです。サーバー用と Faye 用の 2 つのジョブを作成すると、次のようになります。

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
于 2013-01-24T21:18:21.510 に答える