add logging
All checks were successful
Deploy / deploy (push) Successful in 19s

This commit is contained in:
2026-03-12 14:20:45 +00:00
parent d8db8e2c16
commit 5cc5efd2e0
6 changed files with 208 additions and 7 deletions

View File

@@ -90,18 +90,21 @@ async def _process_message(
async with message.process(requeue=True):
try:
payload: dict[str, Any] = json.loads(message.body)
action: str = payload.get("action", "")
if action == "ticket_paid":
# Если есть ticket_id — сразу в работу. Никаких проверок action.
if "ticket_id" in payload:
async with session_factory() as session:
await _handle_ticket_paid(payload, session)
else:
log.debug("Unknown action '%s', skipping", action)
log.warning("Кривой payload, нет ticket_id: %s", payload)
except json.JSONDecodeError:
log.exception("Failed to decode message body: %r", message.body)
# Некорректный JSON — не возвращаем в очередь (requeue=False через reject)
await message.reject(requeue=False)
except Exception as e:
log.exception("Ошибка при обработке сообщения: %s", e)
# Исключение заставит aio_pika вернуть задачу в очередь (requeue=True)
raise
async def main() -> None: