[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
JavaScript でリクエストをリトライし続けるを実際に実装に組み込んだ SWEET の更新を出した (v20180317)。どどんとふが混雑しているときにエラーが多発するというフィードバックをくださった方からもうまく動くよ、というコメントを頂き、この改修は割とうまくいったと見える。
このやり方は並んでいるレストランで行列に並びたくない場合にちょっと時間を空けてすいている時間にまた来ようとするのと同じである。もう一度来店してみてだめならもう少し長い時間をあけて再々来店するだろう。このちょっとずつ (実際には ベースの時間 × 2^リトライ回数) だけ待つアルゴリズムはこの手のリトライをする場合には一般的なものである。例えば AWS でのエラーの再試行とエクスポネンシャルバックオフ - アマゾン ウェブ サービスでも紹介されている。AWS の API を叩く何かを書いているときに RateExceeded での失敗が多発する人はぜひ確認してみてほしい。
ただ、リトライ回数が大きすぎたりすると延々とユーザは待たされるのでその辺はうまく調整しなきゃいけない。このアルゴリズムを使う際の一番難しいところな気がする。ユーザが不自然に思う時間待つ場合はユーザに「再試行中だよ」と表示する必要などがあるかもしれない。
ただいまコメントを受けつけておりません。