더 정밀한 파이썬 응용 프로그램이있어 네트워크 응용 프로그램이 다운 될 수 없으므로 다른 서버 및 클라이언트와 실제로 대화하기 때문에 PID를 죽일 수 없습니다. 그래서 ... 중단 시간이 많은 분당 많은 € 당신은 평소 24/7 시스템을 알고 있습니다.How-To - 실시간 실행 Python 응용 프로그램을 업데이트하십시오.
어쨌든 내 취미 프로젝트에서 나는 WSGI 프레임 워크와도 많은 일을한다. 그리고 나는 오프 피크 시간에도 같은 문제가 있다는 것을 알아 차렸다.
어쨌든 TCP/UDP를 사용하는 정상적인 서버를 상상해보십시오 (여기에 원하는 WSGI/SIP/Classified Information Server/등을 넣으십시오).
이제 원격 서버에서 git 풀을 수행하면 새로운 파이썬 파일이 서버로 이동합니다 (물론이 파일은 실제 소켓이 아닌 데이터 처리에만 영향을 미치기 때문에 해당 파일을 다시 올릴 필요가 없습니다). 소켓 또는 어떤 방식 으로든 네트워크 부분을 터치).
내부 모니터 업데이터를 깨우기 위해 SIGNAL을 사용하기 때문에 보통 파일 모니터를 사용하지 않습니다.
지금from mysuper.app import handler
while True:
data = socket.recv()
if data:
socket.send(handler(data))
그 핸들러가 DB 연결, 캐시 연결과 함께 APP 상상할 수 있습니다 다음 코드 등 핸들러를 업데이트하는 가장 좋은 방법은 무엇
을 상상한다.
reload (핸들러)를 호출해도 안전합니까?
DB 연결이 중단됩니까?
이 재시작까지 DB 연결이 지속됩니까?
현재 거래가 손실됩니까?
대인 관계가 생성됩니까?
사람들이 일반적으로 사용하는 가장 좋은 무늬 패턴은 무엇입니까?
안녕 커크 프록시 케이스가 유효합니다 내 경우에는 mongrel2 :)를 사용하고 있습니다. 물론 백엔드가 하나뿐이라면 문제가 남아 있습니다. 백엔드 없음 프록시 REQ에 REP가 없습니다. 물론 이것은 두 개의 프로세스를 올리고 순차적으로 업데이트를 수행함으로써 모두 정렬 될 수 있습니다. 그러나이 질문은 다른 사람들이 어떻게 볼 수 있는지 더 많은 방법 이었기 때문에 어쨌든 하나의 투표를 UP하십시오 :) – PythonWolf
@PythonWolf 글쎄, 그렇게 할 수 있습니다. :-) 나는 거의 항상이 시스템을 허약하고 어렵게 만드는 것처럼 보이기 때문에 이런 식으로 너무 까다로워지는 것을 좋아하지 않는다. 나는 간단한 작은 구성 요소를 만들고 함께 붙이는 것을 선호한다. –