def __updateNametags(self): while True: self.__updateNametagsEvent.clear() ids = [x.userId_ for x in self.__avatars] prefetch = self.__serviceProvider.taskScheduler.start(self.__serviceProvider.avatarInfoManager.getAvatarInfos(ids)) try: for pyAv in self.__avatars: yield self.__updateNametag(pyAv) except Exception, e: logger.exception("Failed to update nametag for avatar %r, retrying in 15 seconds", pyAv) self.__updatedNametagsEvent.set() try: yield WaitForEvent(self.__updateNametagsEvent, 15) except Timeout: pass