프로젝트/한이음

[한이음] Django 서버 시작시 2개 프로세스 생성

Don't stop 훈 2022. 9. 26. 21:38

장고 서버 실행시 드론제원정보 전송을 위한 쓰레드 생성 함수를 작성하였다.

manage.py

 

그러나 서버 생성 시 스레드 한 개가생성될 거라 예상했던 것과 달리 두 개의 스레드가 호출되는 것을 확인할 수 있었다.
스레드뿐만 아니라 모든 프로그램이 두 개가 실행되는 것 같은 문제가 발생하였다.

모든 프로세스가 두번 실행됨

 

알아보니 Djnago의 라이브 리로드 기능 때문이었다.

라이브 리로드 기능으로 인해 장고는 서버를 재시작 하지 않아도 바로바로 수정한 내용이 적용 되었는데,, 이것은 맨 처음 버실행시 같은 프로세스를 두개 생성하기 때문이라고 한다.

 

그러므로 장고 서버생성시 한번 호출되어야 하는 프로그램(쓰레드, 프로세스)등이 있다면 아래와 옵션을 통해 리로드 기능을 끄고 실행 할 수 있다.

 

noreload 옵션 사용하기

python manage.py runserver --noreload