diff options
author | siutin <osiutino@gmail.com> | 2023-02-06 07:57:26 +0000 |
---|---|---|
committer | siutin <osiutino@gmail.com> | 2023-03-30 09:20:09 +0000 |
commit | e0b58527ff040f9c547ea45b5fcf1bfb7ab23cdd (patch) | |
tree | 1ea75a39d9ebeab51601d5d30f28abacbaa11eb1 | |
parent | 4242e194e417ec5008d09ec6d756594ac65f77bd (diff) | |
download | stable-diffusion-webui-gfx803-e0b58527ff040f9c547ea45b5fcf1bfb7ab23cdd.tar.gz stable-diffusion-webui-gfx803-e0b58527ff040f9c547ea45b5fcf1bfb7ab23cdd.tar.bz2 stable-diffusion-webui-gfx803-e0b58527ff040f9c547ea45b5fcf1bfb7ab23cdd.zip |
use condition to wait for result
-rw-r--r-- | modules/call_queue.py | 2 | ||||
-rw-r--r-- | modules/progress.py | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/modules/call_queue.py b/modules/call_queue.py index 30ac26bc..9888109e 100644 --- a/modules/call_queue.py +++ b/modules/call_queue.py @@ -7,7 +7,7 @@ import time from modules import shared, progress
queue_lock = threading.Lock()
-
+queue_lock_condition = threading.Condition(lock=queue_lock)
def wrap_queued_call(func):
def f(*args, **kwargs):
diff --git a/modules/progress.py b/modules/progress.py index 36963c92..1947c0fd 100644 --- a/modules/progress.py +++ b/modules/progress.py @@ -6,6 +6,7 @@ import gradio as gr from pydantic import BaseModel, Field
from typing import List
+from modules import call_queue
from modules.shared import opts
import modules.shared as shared
@@ -57,8 +58,9 @@ def restore_progress_call(task_tag): else:
t_task = current_task
- while t_task != last_task_id:
- time.sleep(2.5)
+ with call_queue.queue_lock_condition:
+ call_queue.queue_lock_condition.wait_for(lambda: t_task == last_task_id)
+
return last_task_result
|