скрученный, разблокировать threads.blockingCallFromThread при остановке реактора

кажется, что threads.blockingCallFromThread продолжает блокироваться, даже когда реактор останавливается. есть ли способ разблокировать его? отложенный, который он блокирует, зависит от RPC, поступающего с другого конца, и он определенно не придет, когда реактор остановлен.


person Claudiu    schedule 22.07.2010    source источник


Ответы (1)


Он блокируется до тех пор, пока не сработает Deferred. Если вы хотите, чтобы он разблокировался, запустите Deferred. Если вы останавливаете свое приложение и останавливаете реактор, вы можете запустить Deferred перед тем, как это сделать. Вы, вероятно, захотите запустить его с помощью Failure, так как, по-видимому, вы не смогли добиться успешного результата. Вы можете установить перехватчики остановки реактора для запуска кода, когда реактор вот-вот остановится, используя либо Service, либо reactor.addSystemEventTrigger.

person Jean-Paul Calderone    schedule 22.07.2010
comment
ах, это имеет смысл. когда я создаю отложенный, я могу добавить событие, чтобы он не работал до завершения работы. кажется, что это должно быть где-то по умолчанию.. - person Claudiu; 23.07.2010