From cfa4534757b89a3fa483c2d73e511f8910c78197 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 17 Jan 2025 15:16:03 +0530 Subject: [PATCH] perf: faster page view count queries (#29219) --- frappe/website/doctype/web_page_view/web_page_view.json | 3 ++- frappe/website/doctype/web_page_view/web_page_view.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frappe/website/doctype/web_page_view/web_page_view.json b/frappe/website/doctype/web_page_view/web_page_view.json index dd66d97951..744aa540a0 100644 --- a/frappe/website/doctype/web_page_view/web_page_view.json +++ b/frappe/website/doctype/web_page_view/web_page_view.json @@ -24,7 +24,8 @@ "fieldname": "path", "fieldtype": "Data", "label": "Path", - "set_only_once": 1 + "set_only_once": 1, + "search_index": 1 }, { "fieldname": "referrer", diff --git a/frappe/website/doctype/web_page_view/web_page_view.py b/frappe/website/doctype/web_page_view/web_page_view.py index 7e128ef558..6750b83f9b 100644 --- a/frappe/website/doctype/web_page_view/web_page_view.py +++ b/frappe/website/doctype/web_page_view/web_page_view.py @@ -6,6 +6,7 @@ from urllib.parse import urlparse import frappe import frappe.utils from frappe.model.document import Document +from frappe.utils.caching import redis_cache class WebPageView(Document): @@ -101,9 +102,10 @@ def make_view_log( @frappe.whitelist() +@redis_cache(ttl=5 * 60) def get_page_view_count(path): return frappe.db.count("Web Page View", filters={"path": path}) def is_tracking_enabled(): - return frappe.db.get_single_value("Website Settings", "enable_view_tracking") + return frappe.get_website_settings("enable_view_tracking")