summaryrefslogtreecommitdiffstats
path: root/ttun_server/redis.py
blob: 18fbca277d50ae249de78aa16028febb441528b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import asyncio
import os
from asyncio import get_running_loop

from redis.asyncio import ConnectionPool, Redis


class RedisConnectionPool:
    instance: 'RedisConnectionPool' = None

    def __init__(self):
       self.pool = ConnectionPool.from_url(os.environ.get('REDIS_URL'))

    @classmethod
    def get_connection(cls) -> Redis:
        if cls.instance is None:
            cls.instance = RedisConnectionPool()

        return Redis(connection_pool=cls.instance.pool)