merge stable into master (#37286)

This commit is contained in:
slarticodefast
2025-05-08 18:32:53 +02:00
committed by GitHub
3 changed files with 21 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ from typing import Any, Iterable
import requests
import yaml
import time
DEBUG = False
DEBUG_CHANGELOG_FILE_OLD = Path("Resources/Changelog/Old.yml")
@@ -148,9 +149,23 @@ def get_discord_body(content: str):
def send_discord_webhook(lines: list[str]):
content = "".join(lines)
body = get_discord_body(content)
retry_attempt = 0
response = requests.post(DISCORD_WEBHOOK_URL, json=body)
response.raise_for_status()
try:
response = requests.post(DISCORD_WEBHOOK_URL, json=body, timeout=10)
while response.status_code == 429:
retry_attempt += 1
if retry_attempt > 20:
print("Too many retries on a single request despite following retry_after header... giving up")
exit(1)
retry_after = response.json().get("retry_after", 5)
print(f"Rate limited, retrying after {retry_after} seconds")
time.sleep(retry_after)
response = requests.post(DISCORD_WEBHOOK_URL, json=body, timeout=10)
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"Failed to send message: {e}")
exit(1)
def changelog_entries_to_message_lines(entries: Iterable[ChangelogEntry]) -> list[str]: