From 1e1c93c01aca6f1384a3f28ca01219596bc1d6a9 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 6 May 2024 18:23:36 +0530 Subject: [PATCH] perf: Reduce 1 redis call while dumping monitor logs (#26337) --- frappe/monitor.py | 7 ++++--- frappe/utils/redis_wrapper.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frappe/monitor.py b/frappe/monitor.py index c64855676f80..522b743c4c3e 100644 --- a/frappe/monitor.py +++ b/frappe/monitor.py @@ -11,6 +11,7 @@ import rq import frappe +from frappe.utils.data import cint MONITOR_REDIS_KEY = "monitor-transactions" MONITOR_MAX_ENTRIES = 1000000 @@ -115,10 +116,10 @@ def dump(self, response=None): traceback.print_exc() def store(self): - if frappe.cache.llen(MONITOR_REDIS_KEY) > MONITOR_MAX_ENTRIES: - frappe.cache.ltrim(MONITOR_REDIS_KEY, 1, -1) serialized = json.dumps(self.data, sort_keys=True, default=str, separators=(",", ":")) - frappe.cache.rpush(MONITOR_REDIS_KEY, serialized) + length = frappe.cache.rpush(MONITOR_REDIS_KEY, serialized) + if cint(length) > MONITOR_MAX_ENTRIES: + frappe.cache.ltrim(MONITOR_REDIS_KEY, 1, -1) def flush(): diff --git a/frappe/utils/redis_wrapper.py b/frappe/utils/redis_wrapper.py index 2af104e4a5bd..c38f54a2f2a2 100644 --- a/frappe/utils/redis_wrapper.py +++ b/frappe/utils/redis_wrapper.py @@ -149,10 +149,10 @@ def delete_value(self, keys, user=None, make_keys=True, shared=False): pass def lpush(self, key, value): - super().lpush(self.make_key(key), value) + return super().lpush(self.make_key(key), value) def rpush(self, key, value): - super().rpush(self.make_key(key), value) + return super().rpush(self.make_key(key), value) def lpop(self, key): return super().lpop(self.make_key(key))