diff --git a/src/snek/service/socket.py b/src/snek/service/socket.py index b5b9480..5bcc7ec 100644 --- a/src/snek/service/socket.py +++ b/src/snek/service/socket.py @@ -42,21 +42,31 @@ class SocketService(BaseService): self.subscriptions = {} self.last_update = str(datetime.now()) - async def user_availability_service(self): +async def user_availability_service(self): logger.info("User availability update service started.") + logger.debug("Entering the main loop.") while True: logger.info("Updating user availability...") + logger.debug("Initializing users_updated list.") users_updated = [] + logger.debug("Iterating over sockets.") for s in self.sockets: + logger.debug(f"Checking connection status for socket: {s}.") if not s.is_connected: + logger.debug("Socket is not connected, continuing to next socket.") continue + logger.debug(f"Checking if user {s.user} is already updated.") if s.user not in users_updated: + logger.debug(f"Updating last_ping for user: {s.user}.") s.user["last_ping"] = now() + logger.debug(f"Saving user {s.user} to the database.") await self.app.services.user.save(s.user) + logger.debug(f"Adding user {s.user} to users_updated list.") users_updated.append(s.user) logger.info( f"Updated user availability for {len(users_updated)} online users." ) + logger.debug("Sleeping for 60 seconds before the next update.") await asyncio.sleep(60) async def add(self, ws, user_uid):