pixela4go が v1.6.0 にバージョンアップしました。
Pixela v1.25.0 に対応するバージョンアップとなります。
【追記】現在、内部実装を改良した v1.6.1 がリリースされています *1
v1.6.0 アップデート内容
Pixela の一部の API が 25% の割合でリクエストをリジェクトする仕様が追加された
Pixela v1.25.0 のリリースによって、一部のAPIにおいて 25%の割合でそのAPIに対するリクエストがリジェクトされる仕様が追加されました。
詳しくは 公式ページ を参照してください ← Pixela v1.25.1 にて、Pixela v1.25.1 (日本時間 2022年7月31日午前8時) よりも前に作成されたユーザー
はリジェクトの対象外になる、ように仕様が変わっています
pixela4go での機能追加
pixela4go v1.6.0 は、API 呼び出しがリジェクトされたときに API 呼び出しを自動でリトライする機能を追加しています。
具体的には以下のコードを追加することにより、API 呼び出しがリジェクトされたときの自動リトライが有効になります。
// API 呼び出しが拒否されたときにリトライする場合、リトライ回数を指定します。 // pixela4go での自動リトライが必要なければ指定する必要はありません。 pixela.RetryCount = 10
pixela4go に自動リトライ機能を追加した理由
pixela4go は Pixela の「薄いライブラリ」を目指しており、エラーが発生したときのハンドリング *2 はライブラリの利用者側が行えるように (行うように)、という方針で実装しています。
このような方針があるので、Pixela v1.25.0 にて一部の API が 25% の割合でリクエストをリジェクトする仕様が追加されたときも、pixela4go は特になにか対応するなどのリアクションはしないつもりでした。 しかしながら、「エラーハンドリングは必要なのは分かっているけど、まずはもっと手軽に API サービスを使いたい、試してみたい」というようなニーズがあるかもしれない……とも思ったので、API リクエストがリジェクトされたときの自動リトライ機能を実装した次第です。
ちなみに、自動リトライ機能は実験的な機能の位置づけです。 今後、取り除かれるかもしれませんし、正式な機能としてリリースすることがあるかもしれません。
現場からは以上です。