From aac8f9da9f9dc1c9f79d1f16257006ac763a959b Mon Sep 17 00:00:00 2001 From: "Nyeki.py" <84998222+Nekidev@users.noreply.github.com> Date: Fri, 18 Oct 2024 20:55:23 -0300 Subject: [PATCH] fix(bot): :bug: Messages not getting flushed to the DB. --- payphone/cogs/calls/cog.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/payphone/cogs/calls/cog.py b/payphone/cogs/calls/cog.py index 04b419d..b8fa912 100644 --- a/payphone/cogs/calls/cog.py +++ b/payphone/cogs/calls/cog.py @@ -9,6 +9,8 @@ from discord.utils import find from tortoise import transactions, exceptions +import asyncpg.exceptions + import aiohttp import orjson @@ -63,8 +65,23 @@ class Calls(base.Cog): key=lambda m: m.created_at, ) - await models.Message.bulk_create(messages, batch_size=500) - await models.MessageContent.bulk_create(message_contents, batch_size=500) + while True: + try: + await models.Message.bulk_create(messages, batch_size=500) + break + + except asyncpg.exceptions.DeadlockDetectedError: + continue + + while True: + try: + await models.MessageContent.bulk_create( + message_contents, batch_size=500 + ) + break + + except asyncpg.exceptions.DeadlockDetectedError: + continue print( f"DONE! Flushed {len(messages):,} messages and {len(message_contents):,} message contents."