【发布时间】:2015-11-24 06:46:51
【问题描述】:
我正在编写一个使用 EventMachine 来中继来自服务的命令的应用程序。我想重新使用与服务的连接(而不是为每个新请求重新创建它)。该服务从模块方法启动,并且该模块提供给 EventMachine。如何存储连接以在事件机器方法中重复使用?
我有什么(简化):
require 'ruby-mpd'
module RB3Jay
def self.start
@mpd = MPD.new
@mpd.connect
EventMachine.run{ EventMachine.start_server '127.0.0.1', 7331, self }
end
def receive_data
# I need to access @mpd here
end
end
到目前为止,我唯一的想法是 @@class_variable,但我考虑这样的 hack 的唯一原因是我不习惯 EventMachine 并且不知道更好的模式。如何重构我的代码以使 @mpd 实例在请求期间可用?
【问题讨论】:
标签: ruby eventmachine