def spawn(self, f, *args, **kwargs):
"""
Spawns a greenlet and does some book-keeping to make sure the greenlet is killed when the module is
unloaded.
"""
g = gevent.Greenlet(f, *args, **kwargs)
g.link_exception(self._on_error)
g.link(lambda v: self._running_greenlets.discard(g))
self._running_greenlets.add(g)
g.start()
return g
评论列表
文章目录