mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-07-22 10:56:44 +00:00
Add extra details to rate limit logs
- Include the rate limit bucket for webhooks - Enable `stack_info` for the 429 warning.
This commit is contained in:
parent
9648986028
commit
85495a910c
@ -471,7 +471,7 @@ class HTTPClient:
|
|||||||
|
|
||||||
# sleep a bit
|
# sleep a bit
|
||||||
retry_after: float = data['retry_after']
|
retry_after: float = data['retry_after']
|
||||||
_log.warning(fmt, retry_after, bucket)
|
_log.warning(fmt, retry_after, bucket, stack_info=True)
|
||||||
|
|
||||||
# check if it's a global rate limit
|
# check if it's a global rate limit
|
||||||
is_global = data.get('global', False)
|
is_global = data.get('global', False)
|
||||||
|
@ -187,7 +187,10 @@ class AsyncWebhookAdapter:
|
|||||||
if remaining == '0' and response.status != 429:
|
if remaining == '0' and response.status != 429:
|
||||||
delta = utils._parse_ratelimit_header(response)
|
delta = utils._parse_ratelimit_header(response)
|
||||||
_log.debug(
|
_log.debug(
|
||||||
'Webhook ID %s has been pre-emptively rate limited, waiting %.2f seconds', webhook_id, delta
|
'Webhook ID %s has exhausted its rate limit bucket (bucket: %s, retry: %s).',
|
||||||
|
webhook_id,
|
||||||
|
bucket,
|
||||||
|
delta,
|
||||||
)
|
)
|
||||||
lock.delay_by(delta)
|
lock.delay_by(delta)
|
||||||
|
|
||||||
@ -197,9 +200,10 @@ class AsyncWebhookAdapter:
|
|||||||
if response.status == 429:
|
if response.status == 429:
|
||||||
if not response.headers.get('Via'):
|
if not response.headers.get('Via'):
|
||||||
raise HTTPException(response, data)
|
raise HTTPException(response, data)
|
||||||
|
fmt = 'Webhook ID %s is rate limited. Retrying in %.2f seconds. Handled under the bucket %s'
|
||||||
|
|
||||||
retry_after: float = data['retry_after'] # type: ignore
|
retry_after: float = data['retry_after'] # type: ignore
|
||||||
_log.warning('Webhook ID %s is rate limited. Retrying in %.2f seconds', webhook_id, retry_after)
|
_log.warning(fmt, webhook_id, retry_after, bucket, stack_info=True)
|
||||||
await asyncio.sleep(retry_after)
|
await asyncio.sleep(retry_after)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -188,7 +188,10 @@ class WebhookAdapter:
|
|||||||
if remaining == '0' and response.status_code != 429:
|
if remaining == '0' and response.status_code != 429:
|
||||||
delta = utils._parse_ratelimit_header(response)
|
delta = utils._parse_ratelimit_header(response)
|
||||||
_log.debug(
|
_log.debug(
|
||||||
'Webhook ID %s has been pre-emptively rate limited, waiting %.2f seconds', webhook_id, delta
|
'Webhook ID %s has exhausted its rate limit bucket (bucket: %s, retry: %s).',
|
||||||
|
webhook_id,
|
||||||
|
bucket,
|
||||||
|
delta,
|
||||||
)
|
)
|
||||||
lock.delay_by(delta)
|
lock.delay_by(delta)
|
||||||
|
|
||||||
@ -198,9 +201,10 @@ class WebhookAdapter:
|
|||||||
if response.status_code == 429:
|
if response.status_code == 429:
|
||||||
if not response.headers.get('Via'):
|
if not response.headers.get('Via'):
|
||||||
raise HTTPException(response, data)
|
raise HTTPException(response, data)
|
||||||
|
fmt = 'Webhook ID %s is rate limited. Retrying in %.2f seconds. Handled under the bucket %s'
|
||||||
|
|
||||||
retry_after: float = data['retry_after'] # type: ignore
|
retry_after: float = data['retry_after'] # type: ignore
|
||||||
_log.warning('Webhook ID %s is rate limited. Retrying in %.2f seconds', webhook_id, retry_after)
|
_log.warning(fmt, webhook_id, retry_after, stack_info=True)
|
||||||
time.sleep(retry_after)
|
time.sleep(retry_after)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user