我正在尝试使用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服务器'没有及时守护。)
当fayes.start被调用时。
我做错了什么?
答案 0 :(得分:2)
我强烈建议你使用foreman而不是deamon_controller,你可以找到好的介绍here。只需安装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