Quali sono le cause EventMachine :: ConnectionNotBound?
-
13-09-2019 - |
Domanda
Sono nuovo di EventMachine, quindi non sono sicuro di ciò che questo significa. Ricevo questa eccezione:
EventMachine::ConnectionNotBound recieved ConnectionUnbound for an unknown signature: ef93a97d4d6441cb80d30fe2313d7de73
Il programma è abbastanza complicato, quindi non posso davvero spiegare tutto quello che avrebbe potuto condurre ad esso. Tutto quello che serve è un puntatore verso cosa cercare. L'errore non sembra essere documentato (guardando http://eventmachine.rubyforge.org/ ).
Soluzione
Ho avuto questa eccezione sollevata quando qualche altra eccezione non gestita è stata sollevata nel metodo di inizializzazione di una sottoclasse di EventMachine :: Connection. Controllare che l'arity del metodo della sottoclasse di inizializzazione sia corretto e che il metodo di inizializzazione è in esecuzione senza errori.
Altri suggerimenti
In genere, questi errori si verificano in inizializzare o post_init. La prima cosa da fare è aggiungere salvataggio dentro i callback per scoprire che cosa in realtà sta causando questo errore.
def initialize(*args)
...
super
rescue Exception
...
end
def post_init
...
super
rescue Exception
...
end
ho risolto eccezione spumeggiante per questo caso in EventMachine più di un anno fa. E 'nella pre-release 1.0 gemma (gem install eventmachine --pre
) o, meglio, l'uso EventMachine dal repository.
Mi sono imbattuto in un problema simile e mentre indaga imbattuto https://github.com/igrigorik/em-http-request/issues/190#issuecomment-16995528
È fondamentalmente bisogno di avvolgere EM::HttpRequest.new
con EM.schedule
o EM.next_tick
se stai facendo EM::HttpRequest.new
nel codice, anche se la sua sotto un EM.defer