Greenlet
から継承してタスクを作成しています。私は_run()
の2人の子供のためにstart()
を呼び出す単一の親タスクを持っています。他の場所(システム・サービスの場合)start()
とjoin()
が呼び出されます。子供の適切な処理Greenlets
動作は正しいようです。たとえば、Queue
をタイムアウトで使用すると、目的の効果が得られますが、KeyboardInterrupt
というように子プロセスをシャットダウンする方法や、SIGTERM
の親タスクにコールバックを登録する方法がありません。ハンドラでは、child1.kill()
と 'child2.kill()but only the first called seemed to raise
GreenletExit`を呼び出します。
私は決してjoin()
と子供に電話することはありません。私はこれを正しく行う方法がわかりません。ライブラリを誤用していますか?