From c8ce599a8f8ce15a05e5084f0d91b8153250d4e7 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 2 Mar 2023 15:24:51 -0500 Subject: [PATCH] Add a button to interrupt processing to the ui. --- execution.py | 2 ++ nodes.py | 4 ++-- webshit/index.html | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/execution.py b/execution.py index b0f4f952..43cab207 100644 --- a/execution.py +++ b/execution.py @@ -135,6 +135,8 @@ class PromptExecutor: self.server = server def execute(self, prompt, extra_data={}): + nodes.interrupt_processing(False) + if "client_id" in extra_data: self.server.client_id = extra_data["client_id"] else: diff --git a/nodes.py b/nodes.py index fe24a6cd..02cb7e8e 100644 --- a/nodes.py +++ b/nodes.py @@ -45,8 +45,8 @@ def filter_files_extensions(files, extensions): def before_node_execution(): model_management.throw_exception_if_processing_interrupted() -def interrupt_processing(): - model_management.interrupt_current_processing() +def interrupt_processing(value=True): + model_management.interrupt_current_processing(value) class CLIPTextEncode: @classmethod diff --git a/webshit/index.html b/webshit/index.html index 410fb744..a4f3667b 100644 --- a/webshit/index.html +++ b/webshit/index.html @@ -796,6 +796,11 @@ function setRunningNode(id) { (() => { function updateStatus(data) { document.getElementById("queuesize").innerHTML = "Queue size: " + (data ? data.exec_info.queue_remaining : "ERR"); + if (data && data.exec_info.queue_remaining) { + document.getElementById("cancelcurrentjobbutton").hidden = false; + } else { + document.getElementById("cancelcurrentjobbutton").hidden = true; + } } //fix for colab and other things that don't support websockets. @@ -1083,6 +1088,7 @@ function clearItems(type) {
+
Queued:
1