Greenlet
에서 상속하여 작업을 만들고 있습니다. 하나의 부모 작업이 _run()
의 두 자녀에 대해 start()
을 호출합니다. 다른 곳 (시스템 서비스 일 경우) start()
및 join()
이 호출됩니다.자식 Greenlet의 올바른 처리
동작이 올바른 것처럼 보입니다. 예를 들어 Queue
을 타임 아웃으로 사용하면 원하는 효과를 얻을 수 있지만 KeyboardInterrupt
에서 자식을 종료하거나 SIGTERM
의 부모 작업에 대한 콜백을 등록하는 좋은 방법을 찾지 못했습니다. 핸들러에서 child1.kill()
과 'child2.kill() but only the first called seemed to raise
GreenletExit'이라고 부릅니다.
나는 결코 아이들에게 join()
를 부르지 않으며 나는 이것을 어떻게 올바르게 할 것인지 잘 모르겠습니다. 나는 도서관을 오용하고 있는가?