Browse Source

Fix some potential issues related to threads.

pull/27/head
comfyanonymous 2 years ago
parent
commit
6de6246dd4
  1. 12
      main.py
  2. 6
      server.py

12
main.py

@ -371,6 +371,18 @@ class PromptQueue:
return True return True
return False return False
def get_history(self):
with self.mutex:
return copy.deepcopy(self.history)
def wipe_history(self):
with self.mutex:
self.history = {}
def delete_history_item(self, id_to_delete):
with self.mutex:
self.history.pop(id_to_delete, None)
async def run(server, address='', port=8188): async def run(server, address='', port=8188):
await asyncio.gather(server.start(address, port), server.publish_loop()) await asyncio.gather(server.start(address, port), server.publish_loop())

6
server.py

@ -82,7 +82,7 @@ class PromptServer():
@routes.get("/history") @routes.get("/history")
async def get_history(request): async def get_history(request):
return web.json_response(self.prompt_queue.history) return web.json_response(self.prompt_queue.get_history())
@routes.get("/queue") @routes.get("/queue")
async def get_queue(request): async def get_queue(request):
@ -146,11 +146,11 @@ class PromptServer():
json_data = await request.json() json_data = await request.json()
if "clear" in json_data: if "clear" in json_data:
if json_data["clear"]: if json_data["clear"]:
self.prompt_queue.history = {} self.prompt_queue.wipe_history()
if "delete" in json_data: if "delete" in json_data:
to_delete = json_data['delete'] to_delete = json_data['delete']
for id_to_delete in to_delete: for id_to_delete in to_delete:
self.prompt_queue.history.pop(id_to_delete, None) self.prompt_queue.delete_history_item(id_to_delete)
return web.Response(status=200) return web.Response(status=200)

Loading…
Cancel
Save