반응형
Flask가 디버그 모드에서 두 번 초기화되는 것을 중지하는 방법은 무엇입니까?
이 질문에 이미 답변이 있습니다.
Python에서 Flask 서비스를 빌드하고 디버그 모드를 설정하면 Flask 서비스가 두 번 초기화됩니다. 초기화가 캐시 등을로드 할 때 시간이 걸릴 수 있습니다. 개발 (디버그) 모드에서이 작업을 두 번 수행하는 것은 성가신 일입니다. 디버그가 꺼져 있으면 Flask 서비스가 한 번만 초기화됩니다.
Flask가 디버그 모드에서 두 번 초기화되는 것을 중지하는 방법은 무엇입니까?
여기에서 할 가장 간단한 일은 use_reloader=False
다음과 같은 호출에 추가 하는 것 app.run
입니다.app.run(debug=True, use_reloader=False)
또는 WERKZEUG_RUN_MAIN
환경에서의 값을 확인할 수 있습니다.
if os.environ.get("WERKZEUG_RUN_MAIN") == "true":
# The reloader has already run - do what you want to do here
그러나 로드 프로세스를 제외하고 언제든지 동작이 발생하기를 원할 때 조건이 좀 더 복잡 합니다.
if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true":
# The app is not in debug mode or we are in the reloaded process
before_first_request
후크 를 사용할 수 있습니다 .
@app.before_first_request
def initialize():
print "Called only once, when the first request comes in"
참고 URL : https://stackoverflow.com/questions/9449101/how-to-stop-flask-from-initialising-twice-in-debug-mode
반응형
'developer tip' 카테고리의 다른 글
logcat에서 이전 데이터를 어떻게 지울 수 있습니까? (0) | 2020.10.10 |
---|---|
Go 프로그램에 전달 된 명령 줄 인수에 액세스하는 방법은 무엇입니까? (0) | 2020.10.10 |
(bash) 스크립트 사이에 공백이있는 인수 전달 (0) | 2020.10.10 |
클래스의 함수 앞에있는 "get"키워드는 무엇입니까? (0) | 2020.10.10 |
명령 줄을 애니메이션하는 방법은 무엇입니까? (0) | 2020.10.10 |