diff --git a/frappe/utils/caching.py b/frappe/utils/caching.py index 2299c95236..3076492bf1 100644 --- a/frappe/utils/caching.py +++ b/frappe/utils/caching.py @@ -122,7 +122,7 @@ def site_cache(ttl: int | None = None, maxsize: int | None = None) -> Callable: @wraps(func) def site_cache_wrapper(*args, **kwargs): - if getattr(frappe.local, "initialised", None): + if site := getattr(frappe.local, "site", None): func_call_key = json.dumps((args, kwargs)) if hasattr(func, "ttl") and datetime.datetime.now(datetime.timezone.utc) >= func.expiration: @@ -131,15 +131,13 @@ def site_cache(ttl: int | None = None, maxsize: int | None = None) -> Callable: seconds=func.ttl ) - if hasattr(func, "maxsize") and len(_SITE_CACHE[func_key][frappe.local.site]) >= func.maxsize: - _SITE_CACHE[func_key][frappe.local.site].pop( - next(iter(_SITE_CACHE[func_key][frappe.local.site])), None - ) + if hasattr(func, "maxsize") and len(_SITE_CACHE[func_key][site]) >= func.maxsize: + _SITE_CACHE[func_key][site].pop(next(iter(_SITE_CACHE[func_key][site])), None) - if func_call_key not in _SITE_CACHE[func_key][frappe.local.site]: - _SITE_CACHE[func_key][frappe.local.site][func_call_key] = func(*args, **kwargs) + if func_call_key not in _SITE_CACHE[func_key][site]: + _SITE_CACHE[func_key][site][func_call_key] = func(*args, **kwargs) - return _SITE_CACHE[func_key][frappe.local.site][func_call_key] + return _SITE_CACHE[func_key][site][func_call_key] return func(*args, **kwargs)