이것은 어리석은 질문이므로 미리 사과드립니다.Django 프레임 워크는 어떻게 뒤에서 작동합니까?
장고 프레임 워크가 실제로 장막 뒤에서 어떻게 작동하는지 이해하려고합니다. 그것은 장고 모든 시간을 실행하지 않고 다음과 같이 uwsgi/gunicorn 또는 요청이 들어 오면 무엇에 의해 호출되어 처리됩니다 내 이해의 :
- WsgiHandler 또는 ModPythonHandler
- 가져 오기 설정을 사용자 정의 예외
- 로드 미들웨어
- 미들웨어 -> URLResolver
- 미들웨어 ->보기 -> 템플릿
- 미들웨어 -> HttpResponse에
하지만 내가 이해할 수없는 것은 캐시 관리와 같은 모든 기능을 실행하거나 장시간 계속 실행되는 Django의 일부이거나 요청 당 생성되는 인스턴스입니다. 당신이 조금 설명하거나 지시 할 수 있다면 정말 고맙겠습니다.
감사합니다. Daniel! 여러 요청에 대해 프로세스가 존재할 수 있음을 이해하지만 들어오는 요청이 더 이상 없다면 Django는 계속 실행되지 않습니다. 즉, 예를 들어 클래스 속성을 사용하는 모델에서 일부 데이터를 캐시하려고하면 프로세스가 종료되지 않는 한 메모리에 남아있게됩니다. 다음 프로세스에서 다시 가져온다. 내가 틀렸다면 나를 바로 잡으세요. –
프로세스가 실행 중일 때만 데이터가 메모리에 남아 있지만 "더 이상 요청이 없으면 장고는 계속 실행되지 않습니다."라는 사실은 아닙니다. 이는 Google App Engine과 같은 자동 확장 기술을 사용하는 경우에만 발생합니다. 거의 모든 환경이 이와 같이 작동하지 않습니다. 또한 설명대로 캐싱은 각 프로세스에만 국한되며 프로세스간에 공유되지 않습니다. –
감사합니다. 나는 당신의 의견을 upvote해야합니다. :-) –