4

1 リクエスト/秒に制限されている Amazon API を使用するタスクがいくつかあります。

そのため、Amazon API を使用するタスクをグループ化し、それらをシーケンシャル キューに並べたいと考えています。

私が理解したのは、キューを各タスクに関連付ける方法だけです。しかし、特定のキューで同時実行を削除する方法についてはわかりません。

何か案は?

どうもありがとう!:)

4

1 に答える 1

8

同時実行数が 1 のキューから消費する単一のワーカーは、タスクが順番に処理されることを保証します。つまり、特別なキューを作成して、同時実行数が 1 のセロリ ワーカーを 1 つだけ実行できます。

celery -A tasks worker -Q amazon_queue -c 1

そして、タスクをそのキューに送信します。

tasks.add.apply_async(args=[1,2], kwargs={}, queue='amazon_queue')

または、特定のタスク タイプに自動ルーティングを使用します。

于 2012-07-27T13:22:42.243 に答える