У меня есть приложение gevent, которое порождает несколько зеленых на нескольких модулях. Я хочу иметь возможность изящно закрыть приложение (например, внутренне или путем ловли SIGTERM
, например), позволяя зеленым красиво прекратить работу, ловив GreenletExit
и выполняя предложения finally:
.
Если бы у меня была a из всех запущенных особей, я мог бы сделать gevent.killall(list_of_greenlets)
, но сохранение такого списка - скорее хлопот; кроме того, gevent должен хранить этот самый список в той или иной форме.
Итак, могу ли я убить все запущенные зелья, не сохранив их список?
(Я использую gevent 1.0.0 на python 2.7 на raspbian)