什么导致EventMachine :: ConnectionNotBound?

时间:2009-07-14 15:27:48

标签: ruby eventmachine

我是EventMachine的新手,所以我不确定这意味着什么。我得到了这个例外:

EventMachine::ConnectionNotBound recieved ConnectionUnbound for an unknown signature: ef93a97d4d6441cb80d30fe2313d7de73

程序相当复杂,所以我无法解释可能导致它的所有内容。我需要的只是指向要寻找的东西。似乎没有记录错误(查看http://eventmachine.rubyforge.org/)。

4 个答案:

答案 0 :(得分:8)

当在EventMachine :: Connection的子类的initialize方法中引发了一些其他未处理的异常时,我引发了这个异常。检查子类initialize方法的arity是否正确,以及initialize方法是否正在运行而没有错误。

答案 1 :(得分:6)

通常,这些错误发生在initialize或post_init中。您应该做的第一件事是在回调中添加救援,以找出导致该错误的实际原因。

def initialize(*args)
  ...
  super
rescue Exception
  ...
end

def post_init
  ...
  super
rescue Exception
  ...
end

答案 2 :(得分:1)

我在一年多前在EventMachine中修复了此案例的异常冒泡。它位于预发布1.0 gem(gem install eventmachine --pre)或更高版本中,使用存储库中的EventMachine。

答案 3 :(得分:0)

我遇到了类似的问题,而调查遇到了https://github.com/igrigorik/em-http-request/issues/190#issuecomment-16995528

如果您在代码中EM::HttpRequest.new,即使它位于EM.schedule下,您基本上需要使用EM.next_tickEM::HttpRequest.new包裹EM.defer