Twisted, sblocco un threads.blockingcallfromthread quando il reattore si ferma
Domanda
Sembra che threads.blockingCallFromThread
continua a bloccare anche quando il reattore si ferma.C'è un modo per bloccarlo?Il differito che si sta bloccando si basa su un RPC proveniente dall'altra parte, e che sicuramente non entrerà con il reattore fermato.
Soluzione
Blocca fino a quando gli incendi differiti.Se lo vuoi sbloccare, spara il differito.Se stai fermando la tua applicazione e fermando il reattore, potresti voler sparare il differito prima di farlo.Probabilmente vuoi licenziare con un Failure
poiché presumibilmente non è stato in grado di trovare un risultato riuscito.È possibile installare i ganci di spegnimento del reattore per eseguire il codice quando il reattore sta per interrompere, utilizzando un Service
personalizzato o reactor.addSystemEventTrigger
.