1 リクエスト/秒に制限されている Amazon API を使用するタスクがいくつかあります。
そのため、Amazon API を使用するタスクをグループ化し、それらをシーケンシャル キューに並べたいと考えています。
私が理解したのは、キューを各タスクに関連付ける方法だけです。しかし、特定のキューで同時実行を削除する方法についてはわかりません。
何か案は?
どうもありがとう!:)
1 リクエスト/秒に制限されている Amazon API を使用するタスクがいくつかあります。
そのため、Amazon API を使用するタスクをグループ化し、それらをシーケンシャル キューに並べたいと考えています。
私が理解したのは、キューを各タスクに関連付ける方法だけです。しかし、特定のキューで同時実行を削除する方法についてはわかりません。
何か案は?
どうもありがとう!:)
同時実行数が 1 のキューから消費する単一のワーカーは、タスクが順番に処理されることを保証します。つまり、特別なキューを作成して、同時実行数が 1 のセロリ ワーカーを 1 つだけ実行できます。
celery -A tasks worker -Q amazon_queue -c 1
そして、タスクをそのキューに送信します。
tasks.add.apply_async(args=[1,2], kwargs={}, queue='amazon_queue')
または、特定のタスク タイプに自動ルーティングを使用します。