From 5a38ebf365bfa0718dcbd7ab013af5f2da4610f6 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 17 Jan 2022 19:41:55 +0100 Subject: Added scaling support via redis --- ttun_server/redis.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ttun_server/redis.py (limited to 'ttun_server/redis.py') diff --git a/ttun_server/redis.py b/ttun_server/redis.py new file mode 100644 index 0000000..344c107 --- /dev/null +++ b/ttun_server/redis.py @@ -0,0 +1,20 @@ +import os + +from aioredis import ConnectionPool, Redis + + +class RedisConnectionPool(): + instance: 'RedisConnectionPool' = None + + def __init__(self): + self.pool = ConnectionPool.from_url(os.environ.get('REDIS_URL')) + + def __del__(self): + self.pool.disconnect() + + @classmethod + def get_connection(cls) -> Redis: + if cls.instance is None: + cls.instance = RedisConnectionPool() + + return Redis(connection_pool=cls.instance.pool) -- cgit v1.2.3