2012-02-22 3 views
0

안녕하세요 병 서버를 정상적으로 종료하는 방법이 있습니다. 방법으로 그것은 결국 멈추기 전에 몇 가지 단계를 수행 할 수 있어야합니다. 이는 재시작 중에 손상된 상태를 피하는 스레드 및 db 상태의 일부 정리에 중요합니다.병 파이썬 서버의 gracefull 종료

병 서버를 실행하는 데 mod wsgi apache 모듈을 사용하고 있습니다.

답변

1

mod_wsgi에서 atexit 콜백을 등록 할 수 있으며 정상 프로세스 종료시 호출됩니다. 당신은 물건을 할 너무 길지 않습니다. 임베디드 모드, 또는 데몬 모드와 종료가 아파치 재시작에 의해 발생한 경우, 아파치가 강제로 프로세스를 강제 종료하므로 3 초 밖에 남지 않습니다. 데몬 모드와 트리거가 WSGI 스크립트 파일을 만지거나 데몬 프로세스에 신호를 명시 적으로 보내면 5 초가 걸립니다. mod_wsgi가 너무 오래 걸리면 강제로 죽일 것이라고 판단합니다.

파이썬의 'atexit'모듈을 참조하십시오.