mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-09-10 11:35:40 +00:00
Accept prompt_id in interrupt handler (#9607)
* Accept prompt_id in interrupt handler * remove a log
This commit is contained in:
27
server.py
27
server.py
@@ -729,7 +729,34 @@ class PromptServer():
|
|||||||
|
|
||||||
@routes.post("/interrupt")
|
@routes.post("/interrupt")
|
||||||
async def post_interrupt(request):
|
async def post_interrupt(request):
|
||||||
|
try:
|
||||||
|
json_data = await request.json()
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
json_data = {}
|
||||||
|
|
||||||
|
# Check if a specific prompt_id was provided for targeted interruption
|
||||||
|
prompt_id = json_data.get('prompt_id')
|
||||||
|
if prompt_id:
|
||||||
|
currently_running, _ = self.prompt_queue.get_current_queue()
|
||||||
|
|
||||||
|
# Check if the prompt_id matches any currently running prompt
|
||||||
|
should_interrupt = False
|
||||||
|
for item in currently_running:
|
||||||
|
# item structure: (number, prompt_id, prompt, extra_data, outputs_to_execute)
|
||||||
|
if item[1] == prompt_id:
|
||||||
|
logging.info(f"Interrupting prompt {prompt_id}")
|
||||||
|
should_interrupt = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if should_interrupt:
|
||||||
nodes.interrupt_processing()
|
nodes.interrupt_processing()
|
||||||
|
else:
|
||||||
|
logging.info(f"Prompt {prompt_id} is not currently running, skipping interrupt")
|
||||||
|
else:
|
||||||
|
# No prompt_id provided, do a global interrupt
|
||||||
|
logging.info("Global interrupt (no prompt_id specified)")
|
||||||
|
nodes.interrupt_processing()
|
||||||
|
|
||||||
return web.Response(status=200)
|
return web.Response(status=200)
|
||||||
|
|
||||||
@routes.post("/free")
|
@routes.post("/free")
|
||||||
|
Reference in New Issue
Block a user