私は一度に5つの要素を有効にしたカーソルを使用して一連の結果を繰り返しています。Google App Engine:同じバッチの結果に対して同じカーソルを再利用することは安全ですか?
5要素の任意のバッチのカーソルIDは、再利用が安全です(例外がスローされず、常に同じ結果が得られます)。
私はいくつかのテストをローカルで行っていますが、同じカーソルをクエリに渡すたびに同じ結果が得られますが、これが定義済みの一貫した動作であるかどうかは疑問でした。
私は一度に5つの要素を有効にしたカーソルを使用して一連の結果を繰り返しています。Google App Engine:同じバッチの結果に対して同じカーソルを再利用することは安全ですか?
5要素の任意のバッチのカーソルIDは、再利用が安全です(例外がスローされず、常に同じ結果が得られます)。
私はいくつかのテストをローカルで行っていますが、同じカーソルをクエリに渡すたびに同じ結果が得られますが、これが定義済みの一貫した動作であるかどうかは疑問でした。
Query Cursors(強調鉱山)から:
クエリカーソルがクエリに 再開点を表す小さな不透明なデータ構造です。これは、一度に結果のページ をユーザーに表示するのに便利です。 が停止して再開する必要のある長いジョブを処理する場合にも便利です。それらを使用する典型的な方法は、 クエリの
fetch_page()
メソッドです。それはfetch()
のようにいくらか動作しますが、 はトリプル(results, cursor, more)
を返します。返されたmore
フラグは、おそらくより多くの結果があることを示します。 UIは例えば「 」を使用して「次のページ」ボタンまたはリンクを抑制することができます。 に後続のページを要求するには、1つ返されたカーソルをfetch_page()
に渡して、次のページに呼び出します。
基本的に、カーソルは、クエリの結果のリストに現在の位置(必要に応じてインデックス)を表します。
クエリ結果のリストが変更されない場合にのみ、の場合と同じ結果が表示されます(私の平均を保証します)。
結果リストが変更された場合(リスト内の項目の数が変化した場合、または結果リストの順序が変更された場合)、と表示される結果はになる可能性があります。
ありがとう、あなたはソースへのリンクを入れてもらえますか?おそらくドキュメントの残りの部分を読むのに役立つでしょうか。 – Nobilis
完了。省略に気づいてくれてありがとう。 –