2017-04-19 2 views
1

URL 집합을 생성하는 함수를 호출하고 싶습니다. 그러나 URL을 완전히 생성하려면 (url_for() 사용) SERVER_NAME과 함께 사용할 수있는 응용 프로그램 컨텍스트가 있어야합니다.응용 프로그램 컨텍스트를 사용할 수있는 Flask 콜백

SERVER_NAME을 명시 적으로 설정하는 것이 아니라 전체 응용 프로그램 컨텍스트를 사용할 수있게되는 즉시 즉, app.run()이 전체 응용 프로그램을 제공 한 후에 내 기능을 실행해야하는 솔루션을 찾고 있습니다. 문맥. uWSGI에서이 응용 프로그램을 실행 중이므로 uWSGI 초기화 작업을 수행하는 솔루션을 찾고 있습니다.

답변

1

before_first_request 후크를 사용하면 응용 프로그램 컨텍스트 내에서 코드를 한 번 실행하고 서버를 완전히 초기화 한 후 사용할 수 있습니다.

+0

서버 시작 후 이에 상응하는 콜백이 없다고 가정하고 있습니까? before_first_request가 정상적으로 작동해야하지만이 코드에는 성능이 많이 필요한 부분이 포함되어 있습니다. 정기적 인 요청 트래픽 중에 실행하고 싶지 않습니다. – jab

+0

아는 것은 아니지만 일반적으로 성능 집약적 인 코드는 웹 서버에 의존해서는 안되기 때문에 디자인을 재고하고 백그라운드 대기열 또는 예약 된 작업을 고려할 수 있습니다. –