개발 중에 Flask Dev Server가 두 번 실행되는 이유
Flask 개발 서버를 실행할 때 사용자는 인쇄 시작 줄이 두 번 표시되는 것을 볼 수 있습니다. 이 동작은 코드 변경 시 업데이트를 용이하게 하기 위해 하위 프로세스를 생성하는 Werkzeug의 리로더 사용에서 비롯됩니다.
리로더 시작
Flask 앱은 다음으로 실행됩니다. Werkzeug의 개발 서버를 내부적으로 활용하는 app.run() 메소드. restart_with_reloader() 함수는 하위 프로세스를 시작하여 subprocess.call()을 사용하여 스크립트가 다시 실행되도록 합니다.
자동 다시 로드 비활성화
이중 인쇄를 억제하려면 , app.run()에서 use_reloader를 False로 설정합니다. 또는 --no-reload 플래그와 함께 플라스크 실행 명령을 사용하십시오.
FLASK_DEBUG=1 flask run --no-reload
다시 로드 감지
앱이 다시 로드 중인지 확인하려면 하위 프로세스, werkzeug.serving.is_running_from_reloader 사용 function.
모듈 전역에 대한 대안
모듈 전역을 설정해야 하는 경우 @app.before_first_request 데코레이터를 사용하여 한 번만 실행되는 함수를 만듭니다. 다시 로드할 때마다 첫 번째 요청 시. 그러나 이 접근 방식은 여러 프로세스를 활용하는 WSGI 서버에서 여러 호출로 이어질 수 있습니다.
위 내용은 내 Flask Dev Server가 두 번 시작된 것처럼 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!