Что вызывает EventMachine :: ConnectionNotBound? - PullRequest
7 голосов
/ 14 июля 2009

Я новичок в EventMachine, поэтому я не уверен, что это значит. Я получаю это исключение:

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

Программа довольно сложная, поэтому я не могу объяснить все, что могло привести к ней. Все, что мне нужно, это указатель на то, что искать. Ошибка, похоже, не задокументирована (глядя на http://eventmachine.rubyforge.org/).

Ответы [ 4 ]

8 голосов
/ 15 июля 2009

У меня возникло это исключение, когда возникло какое-то другое необработанное исключение в методе инициализации подкласса EventMachine :: Connection. Убедитесь в правильности арности метода инициализации вашего подкласса и в том, что метод инициализации работает без ошибок.

6 голосов
/ 27 июня 2010

Обычно эти ошибки возникают в инициализации или post_init. Первое, что вы должны сделать, это добавить спасение внутри ваших обратных вызовов, чтобы узнать, что на самом деле вызывает эту ошибку.

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

def post_init
  ...
  super
rescue Exception
  ...
end
1 голос
/ 25 апреля 2012

Я исправил всплытие исключений для этого случая в EventMachine более года назад. Он находится в пререлизе 1.0 gem (gem install eventmachine --pre) или лучше, используйте EventMachine из репозитория.

0 голосов
/ 18 апреля 2018

Я столкнулся с похожей проблемой и при расследовании наткнулся https://github.com/igrigorik/em-http-request/issues/190#issuecomment-16995528

В основном вам нужно обернуть EM::HttpRequest.new с EM.schedule или EM.next_tick, если вы делаете EM::HttpRequest.new в своем коде, даже если он меньше EM.defer

...