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: