From 3604dcfdd173713a6839dcd7e71b3383a69194ce Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 28 Jun 2025 16:07:40 +1000 Subject: [PATCH] feat(api): return list of enqueued item ids when enqueuing --- .../services/session_queue/session_queue_common.py | 1 + .../services/session_queue/session_queue_sqlite.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/invokeai/app/services/session_queue/session_queue_common.py b/invokeai/app/services/session_queue/session_queue_common.py index 9075732901..3524e60d49 100644 --- a/invokeai/app/services/session_queue/session_queue_common.py +++ b/invokeai/app/services/session_queue/session_queue_common.py @@ -332,6 +332,7 @@ class EnqueueBatchResult(BaseModel): requested: int = Field(description="The total number of queue items requested to be enqueued") batch: Batch = Field(description="The batch that was enqueued") priority: int = Field(description="The priority of the enqueued batch") + item_ids: list[int] = Field(description="The IDs of the queue items that were enqueued") class RetryItemsResult(BaseModel): diff --git a/invokeai/app/services/session_queue/session_queue_sqlite.py b/invokeai/app/services/session_queue/session_queue_sqlite.py index 36b4f05cf3..1e18061bfe 100644 --- a/invokeai/app/services/session_queue/session_queue_sqlite.py +++ b/invokeai/app/services/session_queue/session_queue_sqlite.py @@ -133,6 +133,18 @@ class SqliteSessionQueue(SessionQueueBase): """, values_to_insert, ) + with self._conn: + cursor = self._conn.cursor() + cursor.execute( + """--sql + SELECT item_id + FROM session_queue + WHERE batch_id = ? + ORDER BY item_id DESC; + """, + (batch.batch_id,) # batch_id is the 4th element in the tuple + ) + item_ids = [row[0] for row in cursor.fetchall()] except Exception: raise enqueue_result = EnqueueBatchResult( @@ -141,6 +153,7 @@ class SqliteSessionQueue(SessionQueueBase): enqueued=enqueued_count, batch=batch, priority=priority, + item_ids=item_ids, ) self.__invoker.services.events.emit_batch_enqueued(enqueue_result) return enqueue_result