rate_limiter module

class rate_limiter.RateLimiter(max_per_minute=30)[source]

Bases: object

מגביל קצב פשוט בזיכרון לפי משתמש.

  • חלון מתגלגל של 60 שניות

  • ללא תלות חיצונית

Parameters:

max_per_minute (int)

__init__(max_per_minute=30)[source]
Parameters:

max_per_minute (int)

Return type:

None

async check_rate_limit(user_id)[source]

מחזיר True אם מותר להמשיך, אחרת False.

Return type:

bool

Parameters:

user_id (int)

async get_current_usage_ratio(user_id)[source]

מחזיר יחס שימוש נוכחי בחלון (0.0–1.0).

מנקה ערכים ישנים לפני החישוב כדי לשקף את החלון המתגלגל של 60 שניות.

Return type:

float

Parameters:

user_id (int)