2012-04-25 3 views
2

나는 데몬 프로세스 마녀가 자식 프로세스를 생성하기 위해 multiprocessing을 사용하여 작업을 수행합니다. 각 자식 프로세스는 자체 연결 핸들을 엽니 다. do (postgres in my 케이스). 프로세스에 대한 작업은 Queue을 통해 전달되고 큐가 비어 있으면 프로세스가 sleep을 얼마 동안 호출하고 큐를 다시 확인합니다.Gracefull 종료, db 연결 닫기, 열린 파일, 멀티 프로세싱에서 SIGTERM 작업 중지

SIGTERM에서 "정상 종료"를 구현하려면 어떻게해야합니까? 각 서브 프로세스는 현재 커서/트랜잭션과 db 연결을 닫거나 종료하는 것과 관련하여 가능한 한 빨리 종료되어야하며 열려있는 파일을 종료해야합니다.

답변

4

열려있는 모든 파일/연결/등을 저장하십시오. 전역 구조에서 모든 것을 닫고 SIGTERM 핸들러에서 종료하십시오.

+1

알아 내기는 너무 분명합니다. D thx – canni

+0

이것은 합법적 인 것처럼 보입니다. 고마워 – Hoto