내 스택은 Nginx + Flup + Flask입니다.요청을 nginx/flup으로 다시 작성한 후에 백그라운드 스레드를 실행하려면 어떻게해야합니까?
그래서 한정된 수명을 가진 백그라운드 스레드를 실행하는 유한 스레드가 있습니다.
t = threading.Thread(target=campaign.run, args=(campaign_obj,))
t.setDaemon(False)
t.start()
실행되면 1 분 또는 2 분 정도 지속되면 종료됩니다. 문제는 응답 성을 위해 백그라운드 프로세스가 실행되는 동안 요청에 우선적으로 값을 반환해야한다는 것입니다.
문제는, 어쨌든, 다소, fcgi 스레드가 계속 살해되고 있습니다.
나는 nginx를 다시 시작했습니다 1800
keepalive_timeout 1800s;
에 connection_timeout 변경 시도, 지금은 거의 즉시 스레드가 응답 한 후 차단됩니다. 수는 /이 같은 셀러리 정말 레디 스/rabbitmq와 거대한 새로운 스택에 리팩토링없이 하나
1) 간단한 수정 내 파이썬 코드 /있는 fcgi 코드 (이다 나는 어떻게
빠른 프로젝트)
2) 적어도 그렇게 빨리 내 스레드를 죽이지에서 nginx를 중지하십시오.
감사합니다.
하위 프로세스를 사용하십시오. – snf
하위 프로세스 또는 다중 처리? – nubela
예, 죄송합니다. 다중 처리를 의미합니다. http://docs.python.org/2/library/multiprocessing.html#the-process-class. – snf