core: handle error when cleaning up sessions and cached session can't be loaded
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		| @ -50,7 +50,8 @@ class TaskSerializer(PassiveSerializer): | |||||||
|         are pickled in cache. In that case, just delete the info""" |         are pickled in cache. In that case, just delete the info""" | ||||||
|         try: |         try: | ||||||
|             return super().to_representation(instance) |             return super().to_representation(instance) | ||||||
|         except AttributeError:  # pragma: no cover |         # pylint: disable=broad-except | ||||||
|  |         except Exception:  # pragma: no cover | ||||||
|             if isinstance(self.instance, list): |             if isinstance(self.instance, list): | ||||||
|                 for inst in self.instance: |                 for inst in self.instance: | ||||||
|                     inst.delete() |                     inst.delete() | ||||||
|  | |||||||
| @ -43,7 +43,11 @@ def clean_expired_models(self: MonitoredTask): | |||||||
|     amount = 0 |     amount = 0 | ||||||
|     for session in AuthenticatedSession.objects.all(): |     for session in AuthenticatedSession.objects.all(): | ||||||
|         cache_key = f"{KEY_PREFIX}{session.session_key}" |         cache_key = f"{KEY_PREFIX}{session.session_key}" | ||||||
|         value = cache.get(cache_key) |         try: | ||||||
|  |             value = cache.get(cache_key) | ||||||
|  |         # pylint: disable=broad-except | ||||||
|  |         except Exception as exc: | ||||||
|  |             LOGGER.debug("Failed to get session from cache", exc=exc) | ||||||
|         if not value: |         if not value: | ||||||
|             session.delete() |             session.delete() | ||||||
|             amount += 1 |             amount += 1 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer