From a3c48da7f468a4d848aff0a4f917986c768e403b Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 2 Jan 2025 13:25:41 +0530 Subject: [PATCH] perf: enable client side caching for recorder flag --- frappe/recorder.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frappe/recorder.py b/frappe/recorder.py index cc4bca536b..9c6214f9bb 100644 --- a/frappe/recorder.py +++ b/frappe/recorder.py @@ -175,8 +175,11 @@ def normalize_query(query: str) -> str: def record(force=False): - if frappe.cache.get_value(RECORDER_INTERCEPT_FLAG) or force: + if frappe.client_cache.get_value(RECORDER_INTERCEPT_FLAG) or force: frappe.local._recorder = Recorder(force=force) + elif frappe.client_cache.get_value(RECORDER_INTERCEPT_FLAG) is None: + # Explicitly set it once so next requests can use client-side cache + frappe.client_cache.set_value(RECORDER_INTERCEPT_FLAG, False) def dump(): @@ -342,14 +345,14 @@ def start( request_filter=request_filter, jobs_filter=jobs_filter, ).store() - frappe.cache.set_value(RECORDER_INTERCEPT_FLAG, 1, expires_in_sec=RECORDER_AUTO_DISABLE) + frappe.client_cache.set_value(RECORDER_INTERCEPT_FLAG, True) @frappe.whitelist() @do_not_record @administrator_only def stop(*args, **kwargs): - frappe.cache.delete_value(RECORDER_INTERCEPT_FLAG) + frappe.client_cache.set_value(RECORDER_INTERCEPT_FLAG, False) frappe.enqueue(post_process, now=frappe.flags.in_test)