2012-04-05 2 views
1

AppEngine Taskqueue: is there a way to determine the queue depth?に従ってTaskQueueカウントをプログラムで知る方法がないので、キャッシュを使用してキューを監視することを考えています。それはお勧めですか、それとも枢機卿の罪ですか? (キャッシュは100%信頼できるとは言えませんが、89%の信頼性は私にとっては問題ありません)appengine TaskQueue count

+0

「キャッシュ」?あなたはmemcacheを意味しますか?待ち行列に入っているタスクの数を知る必要があるのはなぜですか? –

+0

yeh、memキャッシュ。可用性タイムスタンプに応じていくつかのデータをポーリングしていますが、その時点でデータが利用できない場合は、すぐにデータが取得されます。したがって、私は計算されたタスクキューを使用し、通常のcronジョブの代わりにタスクキューの再試行を試みました。私はまた、不要なタスクキューのCPU使用量を減らしたいので、私はタスクキューを監視したいと思います。私はすべて、そのような問題を解決するためのより良い解決法や、慣習的な方法を聞いています。 –

+0

申し訳ありませんが、キューの中にいくつのタスクが含まれているかを知る必要があるのは分かりません。明確にすることはできますか? –

答えて

1

信頼性の問題ではなく、いつでもキャッシュをクリアしてからゼロを残すことができます。データストアにカウントを格納する必要があります。

データストアで良好な書き込みスループットを得る方法のチュートリアルについては、sharding countersを参照してください。

+0

私はいくつかのスレッドのような方法としてTaskQueueを使用しているとスリープとループを続けるので、データストアへの書き込みは私にとっては不幸です。私は、TaskQueueカウントに0が残っている場合、仮想的な11%の失敗率で正常です。 –

関連する問題