From d6eb16a398a8d3a2f58399fd40df7f212680cab0 Mon Sep 17 00:00:00 2001 From: Michael Manfre Date: Mon, 5 Dec 2022 12:55:30 -0500 Subject: Added caching and initial settings --- core/middleware.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'core/middleware.py') diff --git a/core/middleware.py b/core/middleware.py index 08c28fa..bd89d1c 100644 --- a/core/middleware.py +++ b/core/middleware.py @@ -1,3 +1,5 @@ +from time import time + from django.core.exceptions import MiddlewareNotUsed from core import sentry @@ -9,11 +11,19 @@ class ConfigLoadingMiddleware: Caches the system config every request """ + refresh_interval: float = 30.0 + def __init__(self, get_response): self.get_response = get_response + self.config_ts: float = 0.0 def __call__(self, request): - Config.system = Config.load_system() + if ( + not getattr(Config, "system", None) + or (time() - self.config_ts) >= self.refresh_interval + ): + Config.system = Config.load_system() + self.config_ts = time() response = self.get_response(request) return response -- cgit v1.2.3