python retryの使い方
概要
- 関数の実行をリトライするデコレータ
- 例外が発生した場合にリトライする
- オプション
tries
: リトライ回数delay
: リトライ間隔jitter
: リトライ間隔のランダム要素
インストール
$ pip install retry
使い方
基本的な使い方
from retry import retry
@retry(tries=3, delay=2, jitter=(0, 9))
def test_function():
# ここにリトライしたい処理を書く
print("関数を実行")
raise ValueError("エラー発生")
try:
test_function()
except Exception as e:
print("最終的な失敗:", e)
リトライする例外を指定する
from retry import retry
@retry(tries=3, delay=2, exceptions=ValueError)
def function_that_raises_value_error():
raise ValueError("This is a ValueError")
バックオフ戦略を使用
from retry import retry
# 最初のリトライは2秒後に実行され、二回目は4秒、三回目は8秒後に実行される
@retry(tries=3, delay=2, backoff=2)
def function_that_raises_value_error():
raise ValueError("This is a ValueError")
最大遅延時間を設定
from retry import retry
# 最大遅延時間を10秒に設定
@retry(tries=3, delay=2, backoff=2, max_delay=10)
def function_that_raises_value_error():
raise ValueError("This is a ValueError")
リトライの状況をログに記録
from retry import retry
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
@retry(tries=3, delay=2, logger=logger)
def function_with_logging():
# 何らかの処理
pass