From 774a75dbdeea16cd14eb215bbe4e7b1c0213b465 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 9 Jun 2023 12:43:40 +0530 Subject: [PATCH] perf: use cached workflow doc for transitions (#21300) * fix: expire `RECORDER_INTERCEPT_FLAG` in one hour Leaving this running in prod can be dangerous. * perf: Use cached doc in workflows --- frappe/model/workflow.py | 2 +- frappe/recorder.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/model/workflow.py b/frappe/model/workflow.py index 1a52077331..0e345a6515 100644 --- a/frappe/model/workflow.py +++ b/frappe/model/workflow.py @@ -210,7 +210,7 @@ def validate_workflow(doc): def get_workflow(doctype) -> "Workflow": - return frappe.get_doc("Workflow", get_workflow_name(doctype)) + return frappe.get_cached_doc("Workflow", get_workflow_name(doctype)) def has_approval_access(user, doc, transition): diff --git a/frappe/recorder.py b/frappe/recorder.py index 8229b862af..1f31181d53 100644 --- a/frappe/recorder.py +++ b/frappe/recorder.py @@ -169,7 +169,7 @@ def status(*args, **kwargs): @do_not_record @administrator_only def start(*args, **kwargs): - frappe.cache.set_value(RECORDER_INTERCEPT_FLAG, 1) + frappe.cache.set_value(RECORDER_INTERCEPT_FLAG, 1, expires_in_sec=60 * 60) @frappe.whitelist()