Compare commits
2 Commits
d913e57dea
...
b67f0e5031
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b67f0e5031 | ||
|
|
2ff64ff512 |
@ -1,10 +1,8 @@
|
|||||||
name: PR Checks
|
name: PR Checks
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: ['**']
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ['**']
|
branches: [main]
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
|
|||||||
@ -131,16 +131,26 @@ class KworkRateLimitError(KworkApiError):
|
|||||||
Возникает при слишком частых запросах к API.
|
Возникает при слишком частых запросах к API.
|
||||||
Рекомендуется сделать паузу перед повторным запросом.
|
Рекомендуется сделать паузу перед повторным запросом.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
retry_after: Время ожидания в секундах (если указано сервером).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await client.catalog.get_list()
|
await client.catalog.get_list()
|
||||||
except KworkRateLimitError:
|
except KworkRateLimitError as e:
|
||||||
await asyncio.sleep(5) # Пауза 5 секунд
|
wait_time = e.retry_after or 5
|
||||||
|
await asyncio.sleep(wait_time)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, message: str = "Rate limit exceeded", response: Optional[Any] = None):
|
def __init__(
|
||||||
|
self,
|
||||||
|
message: str = "Rate limit exceeded",
|
||||||
|
response: Optional[Any] = None,
|
||||||
|
retry_after: Optional[int] = None,
|
||||||
|
):
|
||||||
|
self.retry_after = retry_after
|
||||||
super().__init__(message, 429, response)
|
super().__init__(message, 429, response)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user