diff options
| author | Sulabh Katila <sulabhkatila@gmail.com> | 2024-02-21 19:51:58 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-21 21:51:58 -0300 |
| commit | eceb5e2eea554ea0f9baf7abc1b1972459854cef (patch) | |
| tree | 5327cc03f0462e3c2c3feeab939bf698534f95a9 /django | |
| parent | 6feaad9113fd38ba3970032d2b7856c77403e29e (diff) | |
Fixed #34806 -- Made cached_db session backend resilient to cache write errors.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/sessions/backends/cached_db.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/django/contrib/sessions/backends/cached_db.py b/django/contrib/sessions/backends/cached_db.py index 3125a71cd0..a2a8cf47af 100644 --- a/django/contrib/sessions/backends/cached_db.py +++ b/django/contrib/sessions/backends/cached_db.py @@ -2,12 +2,16 @@ Cached, database-backed sessions. """ +import logging + from django.conf import settings from django.contrib.sessions.backends.db import SessionStore as DBStore from django.core.cache import caches KEY_PREFIX = "django.contrib.sessions.cached_db" +logger = logging.getLogger("django.contrib.sessions") + class SessionStore(DBStore): """ @@ -52,7 +56,10 @@ class SessionStore(DBStore): def save(self, must_create=False): super().save(must_create) - self._cache.set(self.cache_key, self._session, self.get_expiry_age()) + try: + self._cache.set(self.cache_key, self._session, self.get_expiry_age()) + except Exception: + logger.exception("Error saving to cache (%s)", self._cache) def delete(self, session_key=None): super().delete(session_key) |
