django-redis-sessions icon indicating copy to clipboard operation
django-redis-sessions copied to clipboard

Redis Pool is broken

Open PhysTom88 opened this issue 7 years ago • 1 comments

In session.py in the setting of the session.SESSION_REDIS_[VAR] varialbes after the check for if the session pool setting has been set does not work.

Currently:

if settings.SESSION_REDIS_POOL is not None:
    server_key, server = self.get_server(session_key, settings.SESSION_REDIS_POOL)
    self.connection_key = str(server_key)
    settings.SESSION_REDIS_HOST = getattr(server, 'host', 'localhost')
    settings.SESSION_REDIS_PORT = getattr(server, 'port', 6379)
    settings.SESSION_REDIS_DB = getattr(server, 'db', 0)
    settings.SESSION_REDIS_PASSWORD = getattr(server, 'password', None)
    settings.SESSION_REDIS_URL = getattr(server, 'url', None)
    settings.SESSION_REDIS_UNIX_DOMAIN_SOCKET_PATH = getattr(server,'unix_domain_socket_path', None)

...

Should be:

if settings.SESSION_REDIS_POOL is not None:
    server_key, server = self.get_server(
        session_key, settings.SESSION_REDIS_POOL)
    self.connection_key = str(server_key)
    settings.SESSION_REDIS_HOST = server.get('host', 'localhost')
    settings.SESSION_REDIS_PORT = server.get('port', 6379)
    settings.SESSION_REDIS_DB = server.get('db', 0)
    settings.SESSION_REDIS_PASSWORD = server.get('password', None)
    settings.SESSION_REDIS_URL = server.get('url', None)
    settings.SESSION_REDIS_UNIX_DOMAIN_SOCKET_PATH = server.get(
        'unix_domain_socket_path', None)```

PhysTom88 avatar Nov 09 '17 12:11 PhysTom88

In session.py in the setting of the session.SESSION_REDIS_[VAR] varialbes after the check for if the session pool setting has been set does not work.

Currently:

if settings.SESSION_REDIS_POOL is not None:
    server_key, server = self.get_server(session_key, settings.SESSION_REDIS_POOL)
    self.connection_key = str(server_key)
    settings.SESSION_REDIS_HOST = getattr(server, 'host', 'localhost')
    settings.SESSION_REDIS_PORT = getattr(server, 'port', 6379)
    settings.SESSION_REDIS_DB = getattr(server, 'db', 0)
    settings.SESSION_REDIS_PASSWORD = getattr(server, 'password', None)
    settings.SESSION_REDIS_URL = getattr(server, 'url', None)
    settings.SESSION_REDIS_UNIX_DOMAIN_SOCKET_PATH = getattr(server,'unix_domain_socket_path', None)

...

Should be:

if settings.SESSION_REDIS_POOL is not None:
    server_key, server = self.get_server(
        session_key, settings.SESSION_REDIS_POOL)
    self.connection_key = str(server_key)
    settings.SESSION_REDIS_HOST = server.get('host', 'localhost')
    settings.SESSION_REDIS_PORT = server.get('port', 6379)
    settings.SESSION_REDIS_DB = server.get('db', 0)
    settings.SESSION_REDIS_PASSWORD = server.get('password', None)
    settings.SESSION_REDIS_URL = server.get('url', None)
    settings.SESSION_REDIS_UNIX_DOMAIN_SOCKET_PATH = server.get(
        'unix_domain_socket_path', None)```

ANy newsss?

Allan-Nava avatar Sep 16 '21 15:09 Allan-Nava