4

Google App Engine で NDB と Python を使用しています。複数のエンティティのプロパティを同じ値で更新する適切な方法は何ですか? NDB に相当するもの:

UPDATE notifications SET read = true WHERE user_id = 123.

ユースケースは、これらのファンアウト通知があることです。また、特定のユーザーがすべての通知を既読 (場合によっては 100 秒) に設定したいと考えています。get_async と put_async を使用して、未読の各通知をフェッチし、それを既読として設定できることはわかっていますが、何百もの可能性があるシリアライゼーション/デシリアライゼーションをフェッチすることによって生じるレイテンシが心配です。

どんなアドバイスでも大歓迎です。

4

1 に答える 1

2

map()Queryのメソッドでエンティティごとに関数を呼び出すことができます。最高のパフォーマンスを得るには、_async.

しかし、GAE の最も便利なサービスの 1 つは、特にこのような場合に、タスク キューです。Query Cursorsdeferred libraryを組み合わせると、任意の数のエンティティを簡単に処理できます。

于 2013-11-15T03:44:59.993 に答える