From e8fedf0a73c3711a48c3e7867f7f6d176a7ae006 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 30 Jul 2025 08:32:30 -0400 Subject: [PATCH] fix api progress reporting endpoint Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/api/server.py | 3 ++- modules/shared_state.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7714ea15..8e82e1b2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - **Fixes** - fix inpaint image metadata - fix processing image save loop + - fix api progress reporting endpoint ## Update for 2025-07-29 diff --git a/modules/api/server.py b/modules/api/server.py index d495c1e3b..b9a471fc7 100644 --- a/modules/api/server.py +++ b/modules/api/server.py @@ -85,7 +85,7 @@ def get_history(req: models.ReqHistory = Depends()): return res def get_progress(req: models.ReqProgress = Depends()): - if shared.state.job_count == 0: + if shared.state.job_count == 0: # idle state return models.ResProgress(id=shared.state.id, progress=0, eta_relative=0, state=shared.state.dict(), textinfo=shared.state.textinfo) shared.state.do_set_current_image() current_image = None @@ -100,6 +100,7 @@ def get_progress(req: models.ReqProgress = Depends()): progress = min((current / total) if current > 0 and total > 0 else 0, 1) time_since_start = time.time() - shared.state.time_start eta_relative = (time_since_start / progress) - time_since_start if progress > 0 else 0 + # shared.log.critical(f'get_progress: batch {batch_x}/{batch_y} step {step_x}/{step_y} current {current}/{total} time={time_since_start} eta={eta_relative}') res = models.ResProgress(id=shared.state.id, progress=round(progress, 2), eta_relative=round(eta_relative, 2), current_image=current_image, textinfo=shared.state.textinfo, state=shared.state.dict(), ) return res diff --git a/modules/shared_state.py b/modules/shared_state.py index 0d03ebb17..b9f975d1a 100644 --- a/modules/shared_state.py +++ b/modules/shared_state.py @@ -178,7 +178,7 @@ class State: self.results = [] self.id = self.get_id(task_id) self.job = title - self.job_count = 0 + self.job_count = 1 # cannot be less than 1 on new job self.frame_count = 0 self.batch_no = 0 self.batch_count = 0