我通过继承来创建任务Greenlet
。我有一个单亲任务,start()
它在其_run()
. 在其他地方(它恰好是一个 systemd 服务)start()
并被join()
调用。
这种行为似乎是正确的。例如,使用Queue
带有超时的 a 可以达到预期的效果,但我还没有找到一种很好的方法来关闭子进程,KeyboardInterrupt
或者注册一个回调到父任务的SIGTERM
. 在处理程序中,我会调用child1.kill()
“child2.kill() but only the first called seemed to raise
GreenletExit”。
我从不拜访join()
孩子们,我不确定我会如何正确地做到这一点。我在滥用图书馆吗?