¿Qué causa EventMachine :: ConnectionNotBound?
-
13-09-2019 - |
Pregunta
Soy nuevo en EventMachine, así que no estoy seguro de lo que esto significa. Me estoy poniendo esta excepción:
EventMachine::ConnectionNotBound recieved ConnectionUnbound for an unknown signature: ef93a97d4d6441cb80d30fe2313d7de73
El programa es bastante complicado, así que en realidad no puede explicar todo lo que podría haber llevado a la altura. Todo lo que necesito es un puntero hacia lo que debe buscar. no parece ser documentados (mirando http://eventmachine.rubyforge.org/ ) el error.
Solución
He tenido esta excepción elevada cuando alguna otra excepción no controlada se crió en el método initialize de una subclase de EventMachine :: conexión. Compruebe que la aridad de su método de subclase de inicialización es correcta y que el método de inicialización se ejecuta sin errores.
Otros consejos
Por lo general, estos errores se producen en initialize o post_init. Lo primero que debe hacer es añadir rescate dentro de sus devoluciones de llamada para averiguar lo que realmente está causando el error.
def initialize(*args)
...
super
rescue Exception
...
end
def post_init
...
super
rescue Exception
...
end
Me fijo Excepción burbujeante para este caso en EventMachine hace más de un año. Está en el 1,0 joya preliminar (gem install eventmachine --pre
) o mejor, el uso EventMachine desde el repositorio.
Me encontré con un problema similar y al mismo tiempo investigar encontré https://github.com/igrigorik/em-http-request/issues/190#issuecomment-16995528
Usted necesita básicamente para envolver EM::HttpRequest.new
con EM.schedule
o EM.next_tick
si usted está haciendo EM::HttpRequest.new
en su código a pesar de su bajo una EM.defer