From cf484c45d2d4722a2af2e85a83f3ed760189c953 Mon Sep 17 00:00:00 2001 From: Simon Cordt Date: Wed, 24 Sep 2025 10:54:12 +0200 Subject: [PATCH] fix: Ensure history ID is returned from database insert, call original task_done last --- server/database.py | 4 ++-- server/queue_manager.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/server/database.py b/server/database.py index 8e7f695..70d50d2 100644 --- a/server/database.py +++ b/server/database.py @@ -135,7 +135,7 @@ class QueueDatabase: outputs: Optional[dict], status: str, duration_seconds: Optional[float] = None, - ) -> None: + ) -> int: with self._get_conn() as conn: # Prefer accurate timestamps from queue_items when available def _parse_dt(val: Any) -> Optional[datetime]: @@ -179,7 +179,7 @@ class QueueDatabase: if completed_at is None: completed_at = created_at - conn.execute( + cur = conn.execute( ''' INSERT INTO job_history (prompt_id, workflow, outputs, duration_seconds, created_at, completed_at, status) VALUES (?, ?, ?, ?, ?, ?, ?) diff --git a/server/queue_manager.py b/server/queue_manager.py index b2c1fd6..4483d95 100644 --- a/server/queue_manager.py +++ b/server/queue_manager.py @@ -69,7 +69,6 @@ class PersistentQueueManager: def task_done_wrapper(q_self, item_id, history_result, status): # Capture before original pops it item = q_self.currently_running.get(item_id) - self._original_task_done(q_self, item_id, history_result, status) try: if item is not None: prompt_id = item[1]