2017-04-19 5 views
1

私は、一連のURLを生成する呼び出したい関数を持っています。しかし、(url_for()を使用して)URLを完全に生成するには、SERVER_NAMEで利用可能なアプリケーションコンテキストを用意する必要があります。アプリケーションコンテキストが利用可能なときのFlaskコールバック

私は明示的にSERVER_NAMEを設定関与しない解決策を探していますが、その代わりにapp.run()後、すぐに完全なアプリケーションコンテキストはつまり、利用可能であるように私の機能を実行する伴うだろうソリューションは、完全なアプリケーションを提供しますコンテキスト。私はuWSGIでこのアプリケーションを実行しているので、私はuWSGI初期化で動作するソリューションを探しています。

答えて

1

before_first_requestフックを使用すると、コードをアプリケーションコンテキスト内で一度実行し、サーバーを完全に初期化した後で使用できます。

+0

サーバーの起動後に同等のコールバックがないと仮定していますか? before_first_requestは正常に動作するはずですが、このコードにはパフォーマンスが重視されるセクションがいくつか含まれています。私は本当に定期的なリクエストトラフィックの間にそれを実行したくないでしょう。 – jab

+0

私が知っているわけではありませんが、一般的にはパフォーマンスが重視されるコードはWebサーバーに依存すべきではありません。そのため、デザインを考え直し、バックグラウンド・キューまたはスケジュールされたジョブを検討してください。 –

関連する問題