从另一个文件启动EventMachine

时间:2012-01-27 19:48:33

标签: ruby eventmachine

我写了一个简单的EventMachine服务器,如下所示:

EventMachine.run do
  EventMachine::WebSocket.start(:host => HOST, :port => PORT) do |ws|
    # snip...
  end
end

现在,我想从另一个目录中的另一个文件触发它。如果EventMachine是一个简单的Ruby类,我会添加一个run(或类似的)类方法,并执行以下操作:

#!/usr/bin/env ruby
$LOAD_PATH << "./lib"
require "my_event_machine"
MyEventMachine.run

知道怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:3)

你已经有了解决方案:

my_app.rb:

class MyApp
  def run
    EM.run do
      EM::WebSocket.start(:host => HOST, :port => PORT) do |ws|
        # snip...
      end
    end
  end
end

run.rb:

#!/usr/bin/env ruby
$LOAD_PATH << "./lib"
require "my_app"
MyApp.new.run