Commit e0b58527 authored by siutin's avatar siutin
Browse files

use condition to wait for result

parent 4242e194
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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):
+4 −2
Original line number Diff line number Diff line
@@ -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