diff options
author | Michael Manfre | 2022-12-05 12:55:30 -0500 |
---|---|---|
committer | GitHub | 2022-12-05 10:55:30 -0700 |
commit | d6eb16a398a8d3a2f58399fd40df7f212680cab0 (patch) | |
tree | 5561d7c7d33850672e300ba4320ece1e588dbb1b /core/middleware.py | |
parent | a9bb4a7122df6d9d4a764de52244c6ec75789ead (diff) | |
download | takahe-d6eb16a398a8d3a2f58399fd40df7f212680cab0.tar.gz takahe-d6eb16a398a8d3a2f58399fd40df7f212680cab0.tar.bz2 takahe-d6eb16a398a8d3a2f58399fd40df7f212680cab0.zip |
Added caching and initial settings
Diffstat (limited to 'core/middleware.py')
-rw-r--r-- | core/middleware.py | 12 |
1 files changed, 11 insertions, 1 deletions
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 |