私はエンティティグループの1000を更新する長い実行ジョブを持っています。後で2回目の仕事を始めたいのですが、それらのアイテムがすべて更新されたと仮定する必要があります。非常に多くのエンティティグループが存在するため、トランザクションではできません。そのため、タスクキューを使用して1回目の完了後15分後に2番目のジョブを実行するようにスケジュールしました。Google AppEngine HRDデータストアの更新が完了したことを知る方法を教えてください。
良い方法がありますか?
データストアが以前のコールと同期していることを約束する15分と仮定することも、安全ですか?
私は高い複製を使用しています。
HRDについてのGoogle IOの動画では、最終的な一貫性に対処する方法のリストを示します。そのうちの1つは「それを受け入れる」ことでした。一部のアップデート(ツイッター投稿など)は、次回の読み込みと一貫性がある必要はありません。しかし、彼らはまた、 "ねえ、私たちは一貫している前に数ミリ秒の話をしています"と言った。その時間枠はどこに文書化されていますか?もう一度読む前に書いてから1分待つと、私の前書きがすべて読まれていることを意味すると思いますか?
ことの言及は、このビデオで39:30のマークでhttp://www.youtube.com/watch?feature=player_embedded&v=xO015C3R6dw
私は以下に部分的な答えを示しましたが、正確に何をしようとしているかについてさらに情報を与えることができますか? – mjaggard
基本的に私は1000個のエンティティを挿入または更新しています。その仕事が完了したら、アイテムにランクを適用する必要があります。だから私は、すべてのレコードを選択し、フィールドで注文するクエリを実行し、私はランキングについて心配しています。次に、別のエンティティタイプのランクを更新します。エンティティがクエリにない場合、そのランクは明らかにオフになります。 – user963263