@@ -724,20 +724,34 @@ async def reset_user_profiles(self, interaction: discord.Interaction):
724724 return
725725 self .bucket_update_in_progress = True
726726 users_to_update = []
727- for user_id in self .user_points .keys ():
727+ number_of_user_points = len (self .user_points )
728+ for indx , user_id in enumerate (self .user_points .keys ()):
728729 self .user_points [user_id ].bucket_number = None
729730 self .user_points [user_id ].leveling_update_attempt = 0
730731 self .user_points [user_id ].avatar_url = None
731732 self .user_points [user_id ].avatar_url_message_id = None
732733 self .user_points [user_id ].leveling_message_avatar_url = None
733734 self .user_points [user_id ].discord_avatar_link_expiry_date = None
734735 users_to_update .append (self .user_points [user_id ])
735- await UserPoint .async_bulk_update (
736- users_to_update ,
737- ["bucket_number" , "leveling_update_attempt" , "avatar_url" , "avatar_url_message_id" ,
738- "leveling_message_avatar_url" , "discord_avatar_link_expiry_date"
739- ]
740- )
736+ self .logger .debug (f"[Leveling reset_user_profiles()] { indx } / { number_of_user_points } UserPoints reset" )
737+
738+ user_lower_bound = 0
739+ number_of_users_per_update = 50
740+ user_upper_bound = number_of_users_per_update
741+ number_of_users_to_update = len (users_to_update )
742+ while user_lower_bound < number_of_users_to_update :
743+ await UserPoint .async_bulk_update (
744+ users_to_update [user_lower_bound :user_upper_bound ],
745+ ["bucket_number" , "leveling_update_attempt" , "avatar_url" , "avatar_url_message_id" ,
746+ "leveling_message_avatar_url" , "discord_avatar_link_expiry_date"
747+ ]
748+ )
749+ self .logger .debug (
750+ f"[Leveling reset_user_profiles()] users between [{ user_lower_bound } ,{ user_upper_bound } ) "
751+ f"updated out of { number_of_users_to_update } "
752+ )
753+ user_lower_bound = user_upper_bound
754+ user_upper_bound += number_of_users_per_update
741755 e_obj = await embed (
742756 self .logger , interaction = interaction ,
743757 description = f'{ len (users_to_update )} bucket_numbers reset to None'
0 commit comments