2017-02-24 5 views
0

APIオブジェクトを別のCeleryタスクに永続化する方法はありますか。 API呼び出しを行うために、認証されたセッション(Pythonリクエスト)を持つユーザーごとに1つのAPIオブジェクトがあります。 user_id、csrftokenなどは、リクエストごとに送信されます。認証されたAPIオブジェクトを別のCeleryタスクに永続化する方法はありますか。

各タスクの再認証をせずにAPIリクエストを実行するには、Celeryでさまざまなタスクをスケジュールする必要があります。

どうすればいいですか?

答えて

1

これらのデータをデータベース/ memcacheに入れ、useridでキーとして取得できます。

これらのデータがステートレスであれば問題ありません。並行プロセスは、認証パラメータを取得し、要求を構築して送信します。

各リクエスト(または一部のリクエスト)の後で状態(ユニークな増分リクエストID、変更トークンなど)が変更された場合、リクエストによって正しい資格情報を提供するシングルトンマネージャを実装する必要があります。すべてのタスクは、このマネージャからの資格情報を要求する必要があります。例えば、レートを制限することもできます。

このオブジェクトをパラメータとしてタスクに渡したい場合は、それをシリアル化する必要があります。それはseriazeableであることを確認してください。

関連する問題