From a03c02c94c9d514db872fafe88146a0e7ec81ea4 Mon Sep 17 00:00:00 2001 From: Chris Lovering <chris.lovering.95@gmail.com> Date: Thu, 6 Jun 2024 20:29:01 +0100 Subject: [PATCH] Use a generator instead of a list to store the members to sync This reduces the memory required on bot startup --- metricity/exts/event_listeners/startup_sync.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/metricity/exts/event_listeners/startup_sync.py b/metricity/exts/event_listeners/startup_sync.py index 7ff5026..0f6264f 100644 --- a/metricity/exts/event_listeners/startup_sync.py +++ b/metricity/exts/event_listeners/startup_sync.py @@ -39,7 +39,7 @@ async def sync_guild(self) -> None: await sess.execute(update(models.User).values(in_guild=False)) await sess.commit() - users = [ + users = ( { "id": str(user.id), "name": user.name, @@ -54,12 +54,12 @@ async def sync_guild(self) -> None: "pending": user.pending, } for user in guild.members - ] + ) user_chunks = discord.utils.as_chunks(users, 500) created = 0 updated = 0 - total_users = len(users) + total_users = len(guild.members) log.info("Performing bulk upsert of %d rows in %d chunks", total_users, math.ceil(total_users / 500))