Merge pull request #32925 from ankush/view_log_defer

perf: defer view log and enhance flushing
This commit is contained in:
Ankush Menat 2025-06-13 11:45:47 +05:30 committed by GitHub
commit f8a6cf8995
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 5 deletions

View file

@ -31,7 +31,7 @@ def save_to_db():
record_count = 0
queue_key = get_key_name(key)
doctype = get_doctype_name(key)
while frappe.cache.llen(queue_key) > 0 and record_count <= 500:
while frappe.cache.llen(queue_key) > 0 and record_count <= 10000:
records = frappe.cache.lpop(queue_key)
records = json.loads(records.decode("utf-8"))
if isinstance(records, dict):
@ -41,6 +41,11 @@ def save_to_db():
for record in records:
record_count += 1
insert_record(record, doctype)
if record_count % 100 == 0:
frappe.db.commit()
if record_count % 100 == 0:
frappe.db.commit()
def insert_record(record: Union[dict, "Document"], doctype: str):

View file

@ -93,10 +93,7 @@ def make_view_log(
view.visitor_id = visitor_id
try:
if frappe.flags.read_only:
view.deferred_insert()
else:
view.insert(ignore_permissions=True)
view.deferred_insert()
except Exception:
frappe.clear_last_message()