From 9831ec2124065ecc31cfbeae85c09a28af32312c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 04:14:06 +0000 Subject: [PATCH] Optimize node load update in on_unpublish using direct SQL Co-authored-by: DynamiteC <19831283+DynamiteC@users.noreply.github.com> --- .../streaming_console/streaming_console/api.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/control-plane/streaming_console/streaming_console/api.py b/src/control-plane/streaming_console/streaming_console/api.py index a85fcef..3477d57 100644 --- a/src/control-plane/streaming_console/streaming_console/api.py +++ b/src/control-plane/streaming_console/streaming_console/api.py @@ -103,11 +103,10 @@ def on_unpublish(stream_key=None): # Decrement Node Load node_id = frappe.request.headers.get("X-Node-ID") if node_id: - try: - node = frappe.get_doc("Streaming Node", {"node_id": node_id}) - node.current_load = max(0, (node.current_load or 0) - 1) - node.save() - except frappe.DoesNotExistError: - pass + frappe.db.sql(""" + UPDATE `tabStreaming Node` + SET current_load = GREATEST(0, COALESCE(current_load, 0) - 1) + WHERE node_id = %s + """, (node_id,)) return {"code": 0, "msg": "OK"}