FrameWork/Django

장고 개발 환경에서 프로세스 2개가 실행되는 이유

JHeaon 2024. 10. 7. 14:17

 


 

django에서 프로세스 2개가 실행되는  이유

최근에 django에서 스케쥴러를 공부하고 있었는데, 스케쥴러를 장고 앱에 등록하고, "python manage.py runserver"로 서버를 실행했는데 출력이 2번 일어나는 현상을 보게 되었다. 

 

이는 프로세스가 2개가 돌아가고 있다는 것인데,  해당 이유를 찾기 위해서 구글을 통해 정보를 찾아보기 시작했고 스택오버플로우에 문제에 대한 대답을 들을 수 있었다. 

 

 

Why django runserver command starts 2 processes? What are they for? And how to distinguish between each in the code?

While building some standalone Django app, which will be running tasks in the background as a separate daemon Thread, I ran into a problem because it seemed as if there are two MainThreads when sta...

stackoverflow.com

 

답변 내용을 보니 Django에서는 디버그환경에서 코드를 변경하게 되면 그에따라 즉각적으로 장고 서버에 반영되는데 이렇게 될 수 있는 이유가 프로세스를 2개 만들어 하나는 기본적인 기능을 담당하고 다른 하나는 코드 변경을 감지하여 적용하는 식으로 진행되었기에 가능한 것이였다. 

 

만약 디버그 상태에서 즉각적인 변화를 반영하고 싶지 않다면 "python manage.py runserver --noreload" 옵션을 붙여 실행한다면 해당 문제를 해결 할 수 있다. 

'FrameWork > Django' 카테고리의 다른 글

유저 커스텀 모델 사용하기  (0) 2024.07.29
Django에서 static, media 관리하기  (0) 2024.07.29
N + 1 쿼리 문제  (0) 2024.07.10
select_related와 prefetch_related  (0) 2024.07.10
orm과 queryset  (0) 2024.07.10

'FrameWork/Django'의 다른글

  • 현재글 장고 개발 환경에서 프로세스 2개가 실행되는 이유

관련글