2

SIS で作成されたコースのキューを取得するサービスがあり、Google Classroom API を介してそれらを自動的に作成しようとしています。約 1000 のコースを作成できましたが、現在、以下のエラーが発生しています。

Google.Apis.Requests.RequestError
The service is currently unavailable. [503]
Errors [
    Message[The service is currently unavailable.] Location[ - ] Reason[backendError] Domain[global]
]

私が何をしても問題ないようですが、エラーは引き続き発生します。

4

1 に答える 1

3

これは、Google API ではよくあることです。これは、Google のサーバーが「高速で減速する」ことを示すために使用する方法です。これを処理するために、正常に動作する API クライアントは指数バックオフを実装する必要があります。

たとえば、スクリプトは、Google から HTTP 2xx 成功応答を取得している限り、できるだけ早くコースを作成できます。503 バックエンド エラーが表示されるとすぐに、すべての呼び出しを 1 秒間一時停止してから、失敗した操作を再試行する必要があります。非常に多くの場合、2 回目の試行で操作は成功しますが、成功しない場合は、スクリプトを 2 秒間一時停止し、成功するまで 4、8 秒などと停止する必要があります。10 回まで試行してから、エラーで失敗することをお勧めします。

スクリプトがバックオフを行わず、一時停止せずに API 呼び出しを再試行し続ける場合、このようなエラーが増加し、最終的にスクリプトがブラックリストに登録される可能性があります。

于 2015-09-05T11:12:18.833 に答える