3

我正在尝试使用 gem daemon_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 server' 没有及时守护进程。)

当 fayes.start 被调用时。

我做错了什么?

4

1 回答 1

2

我强烈推荐你使用 foreman 而不是 deamon_controller,你可以在这里找到很好的介绍。只需安装 gem,在您的 rails 根目录中创建“Procfile”。并创建两个工作,一个用于服务器,另一个用于 Faye,它可能如下所示:

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 回答