flask가 두 번 초기화되는 문제
2387 단어 슬랙파이썬NotificationFlask
소개
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
나는 이것을 해결하는 데 꽤 시간이 걸렸기 때문에 누군가의 도움이되면 기뻐요 😊
Reference
이 문제에 관하여(flask가 두 번 초기화되는 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aquamarine/items/b15262725424a39ec734
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
해결방법①
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
나는 이것을 해결하는 데 꽤 시간이 걸렸기 때문에 누군가의 도움이되면 기뻐요 😊
Reference
이 문제에 관하여(flask가 두 번 초기화되는 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aquamarine/items/b15262725424a39ec734
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
web: gunicorn app:app --log-file - --workers 1
Reference
이 문제에 관하여(flask가 두 번 초기화되는 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aquamarine/items/b15262725424a39ec734텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)