大きいデータストアPutMulti
コール(エンティティ500)をバッチのエンティティに分割し、より小さいPutMulti
コール(それぞれ100個のエンティティ)を送信するコンカレントゴルーチンを実行することで、Google App Engineリクエストハンドラを高速化しようとしています。appengineデータストアタイムアウトエラー5と11の違いは何ですか?
これまでは、多くの同時リクエストでハンドラをテストしたときに、PutMulti
の呼び出しからデータストアエラーCall error 11: Deadline exceeded (timeout)
が期限切れになることがよくありました。並列化の後、ハンドラは高速化しましたが、私はまだ時々そのエラーと別のタイプのエラー、API error 5 (datastore_v3: TIMEOUT): The datastore operation timed out, or the data was temporarily unavailable
を取得しました。
このエラーは、データストア内の競合が原因であり、エラー5と11の違いは何ですか?
最初に表示されるエラーは、通常の操作ではタイムアウトに過ぎないかもしれません.2番目は書き込み競合のためです。詳細:[Datastoreエラーの処理](https://cloud.google.com/appengine/articles/handling_datastore_errors) – icza
ありがとうございました!素晴らしいことを続けてください! –