2017-02-10 3 views
0

私はthis tutorialをフォローして、単純なFlaskアプリケーションを作成して、http要求で長時間実行されるCeleryタスクを開始します。Flaskアプリケーションでセロリタスクに設定パラメータを渡すにはどうすればいいですか?

いくつかの設定パラメータ(db接続文字列、apiキーなど)をタスクに渡したいと思います。これらは設定ファイルからのものであり、要求からのものではありません。 これを実行する最良の方法は何ですか。タスクからこれらのパラメータにアクセスするにはどうすればよいですか。

+0

を使用することができます。 Flaskアプリケーションとまったく同じ方法で設定されています。 –

答えて

3

あなたは、あなたのFlask configに追加フラスコからの輸入CURRENT_APPと解答を1として

current_app.config['parameter'] 
+0

@sueverアプリケーションコンテキスト内で実行されます。これが 'ContextTask'の全体のポイントです。 –

+0

@JoeDoherty申し訳ありませんが、私は彼らがセロリのタスクのカスタマイズを使用していたことを忘れていました。 – Suever

+0

私はconfigファイルを取得し、app.configに内容を追加し、if __name__ == "__main__":ブロックでcelery.confをアップデートします。しかし、タスクにapp.configを出力すると、最近追加されたパラメータが欠けています。 – Balint

関連する問題