class BaseWebSocketHub:
- first = True
client_ids_sem = asyncio.Semaphore(0)
@classmethod
- def __class_init(cls, redis):
- if not cls.first:
+ def _class_init(cls, redis):
+ if not hasattr(cls, "_class_init"):
return
- cls.first = False
+ delattr(cls, "_class_init")
asyncio.create_task(cls.initialize_client_ids(redis))
@classmethod
def __init__(self):
self.redis = StrictRedis(password=get_redis_pass("/etc/redis/redis.conf"))
- self.__class_init(self.redis)
+ if hasattr(BaseWebSocketHub, "_class_init"):
+ BaseWebSocketHub._class_init(self.redis)
def task_done(self):
self.task = None