我有一个 gevent 应用程序,可以跨多个模块生成多个 greenlet。我希望能够优雅地关闭应用程序(例如在内部或通过SIGTERM
catch ),允许 greenlets 通过捕获GreenletExit
和执行finally:
子句很好地终止。
如果我拥有所有正在运行的 greenlets 中的一个,我可以这样做gevent.killall(list_of_greenlets)
,但是维护这样一个列表相当麻烦;此外,gevent 必须以某种形式保存这个列表。
那么,我可以在不维护列表的情况下杀死所有已启动的greenlets吗?
(我在 raspbian 上的 python 2.7 上使用 gevent 1.0.0)