全力で怠けたい

怠けるために全力を尽くしたいブログ。

Pixela の CLI ツール pa が v1.7.0 にバージョンアップしました。

Pixela の CLI ツール pa が v1.7.0 にバージョンアップしました。

v1.7.0 アップデート内容

API リクエストのリトライ回数を指定する -r, --retry オプションを追加

API リクエストのリトライ回数を指定する -r, --retry オプションを追加しました *1

Pixela v1.25.0 のリリースによって、一部のAPIにおいて 25%の割合でそのAPIに対するリクエストがリジェクトされる仕様が追加されました。

-r, --retry オプションは、API のリクエストがリジェクトされたとき、pa が自動的に API リクエストをリトライする回数を指定できるようにしています。 -r, --retry オプションのデフォルト値は 0、つまり1回もリトライしません。 -r, --retry オプションを指定しない場合は v1.6.0 以前と同じ挙動になります。

-r, --retry オプションを指定すると、API のリクエストがリジェクトされたときのリトライ処理を pa に任せることができ、コードの記述量を減らすことができます。

たとえば、pa graph get-all --retry 5 は、--retry オプションを指定しない以下のコードと同等の処理となります。

# API 呼び出しがリジェクトされた場合は5回までリトライする
for I in $(seq 1 5)
do
    RESULT=$(pa graph get-all 2>&1)
    # API のリクエストが成功
    if [ $? -eq 0 ]; then
        echo "${RESULT}"
        break
    fi

    # API のリクエストがリジェクト以外の理由で失敗
    if ! echo "${RESULT}" | grep "api call rejecte" > /dev/null
    then
        echo "${RESULT}"
        break
    fi

    # API のリクエストがリジェクトされた
    # echo "*** retry ***"
done

v1.7.0 へのアップグレード方法

Homebrew を使っている場合は以下のコマンドにてアップグレードできます。

$ brew update && brew upgrade pa

go install コマンドでアップグレードすることもできます。

$ go install github.com/ebc-2in2crc/pa/cmd/pa@latest

現場からは以上です。

*1:実験的な機能となります