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