Pythonでは、APIのレート制限を設定するためにratelimit
ライブラリを使用することができます。このライブラリは、特定の期間内に関数が呼び出される回数を制限する機能を提供します。
以下に、ratelimit
ライブラリを使用してAPIのレート制限を設定する基本的なコードスニペットを示します。
from ratelimit import limits, RateLimitException, sleep_and_retry
max_hit = 5
period = 300
@limits(calls=max_hit, period=period)
def call_api():
# APIを呼び出すコード
pass
このコードでは、limits
デコレータを使用してcall_api
関数の呼び出し回数を制限しています。max_hit
は指定した期間内に許可される最大の呼び出し回数を表し、period
はその期間を秒単位で表します。
しかし、このままではレート制限を超えた場合にRateLimitException
が発生し、プログラムが終了してしまいます。これを防ぐために、sleep_and_retry
デコレータを使用します。このデコレータは、レート制限を超えた場合に一定時間待機した後に関数の再実行を試みます。
以上が、PythonでAPIのレート制限を設定する基本的な方法です。適切にレート制限を設定することで、APIの過度な使用を防ぎ、サービスの利用規約を遵守することができます。