タスクが利用可能になるまで、Google AppEngine プル タスク キューでブロックできますか? または、タスクが使用可能になるまで空のキューをポーリングする必要がありますか?
2 に答える
キューをポーリングする必要があります。プル キューの一般的な使用例は、複数のバックエンドを持ち、それぞれが一度に 1,000 のタスクを取得することです。
一度に何時間もキューにタスクがないユース ケースでは、プッシュ キューの方が適している場合があります。
あなたの質問について 100% 確信があるわけではありませんが、答えを試してみようと思いました。cron によってプル タスク キューを開始することが適用される場合があります。バックエンドの実行費用を節約します。シリアル化して保存する必要があるクライアント側のログ データがあります。オンライン ハンドラーは、クライアント データをタスク プル キューに渡すだけです。Cron は毎分タスクを起動し、実行ごとに最大 10,000 のログ項目がシリアル化されて保存されます。(負荷に応じて設定を変更してください。これらは私のささやかなニーズを十分に満たしています。) この場合、キューはバッファーとして機能し、負荷のスパイクは処理ユニット全体に分散されます。TQ データにすばやくアクセスしたい場合や、非常に予測不可能な負荷がある場合は、明らかに役に立ちません。非常に重要なことは、ログ データのシリアル化により、データ書き込みが 1,000 分の 1 に削減されることです。あなたの質問には当てはまらないかもしれないので、大きな HTH で終わります。-スティーブ