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