flask가 두 번 초기화되는 문제

소개



Flask를 사용하여 앱을 만들고 Slack 봇으로 앱에서 알림을 받았습니다. 하지만, 로컬로 디버그 모드로 시험했을 때도, Heroku로 배포해 봐도 왠지 같은 통지가 2회 온다…



여러가지 조사해 보면flask가 2회 초기화되고 있는 것이 원인이었습니다. 아래에 해결 방법을 요약합니다.

Development 환경에서의 해결 방법



해결방법①

Flask에서 앱을 만들 때는 debug 모드로 두면 변경을 했을 때 수동으로 다시 로드하지 않아도 되므로 아래와 같은 코드를 쓰고 있다고 생각합니다.
if __name__ == '__main__':
    app.run(debug=True)

이 부분을
if __name__ == '__main__':
    app.run(use_reloader=False)

변경하면 다시로드되지 않습니다.

해결방법②

두 번째 해결책은 두 번 돌고 싶지 않은 함수 위에
@app.before_first_request

추가합니다.

Production 환경에서의 해결 방법



다음 코드를 Procfile에 추가한 다음 Heroku에 배포한 후 프로덕션 환경에서 다시 로드되지 않았습니다.
web: gunicorn app:app --log-file - --workers 1

참고 URL
h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 9449101 / 호 w와 s와 pf sk f 로 m

나는 이것을 해결하는 데 꽤 시간이 걸렸기 때문에 누군가의 도움이되면 기뻐요 😊

좋은 웹페이지 즐겨찾기