programing

디버그 모드에서 플라스크가 두 번 초기화하는 것을 막는 방법?

mailnote 2023. 10. 8. 10:19
반응형

디버그 모드에서 플라스크가 두 번 초기화하는 것을 막는 방법?

Python에서 Flask 서비스를 구축하고 디버그 모드를 설정하면 Flask 서비스가 두 번 초기화됩니다.초기화가 캐시 등을 로드할 때 이 작업은 시간이 걸릴 수 있습니다.개발(디버그) 모드에서는 이 작업을 두 번 수행해야 하는 것이 귀찮습니다.디버그가 꺼져 있으면 Flask 서비스는 한 번만 초기화됩니다.

디버그 모드에서 플라스크가 두 번 초기화하는 것을 막는 방법?

여기서 가장 간단하게 할 수 있는 일은 다음과 같이 추가하는 것입니다.use_reloader=False에 전화를 걸어 주십시오.app.run- 즉,app.run(debug=True, use_reloader=False)

또는 환경에서 의 값을 확인할 수도 있습니다.

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

후크를 사용할 수 있습니다.

@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

반응형