Skip to content

Commit a43d602

Browse files
steffy-lopsychedelicious
authored andcommitted
fix(queue): add clear_queue_on_startup config to clear problematic queues
1 parent 7e9a89f commit a43d602

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

invokeai/app/services/config/config_default.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ class InvokeAIAppConfig(BaseSettings):
113113
force_tiled_decode: Whether to enable tiled VAE decode (reduces memory consumption with some performance penalty).
114114
pil_compress_level: The compress_level setting of PIL.Image.save(), used for PNG encoding. All settings are lossless. 0 = no compression, 1 = fastest with slightly larger filesize, 9 = slowest with smallest filesize. 1 is typically the best setting.
115115
max_queue_size: Maximum number of items in the session queue.
116+
clear_queue_on_startup: Empties session queue on startup.
116117
allow_nodes: List of nodes to allow. Omit to allow all.
117118
deny_nodes: List of nodes to deny. Omit to deny none.
118119
node_cache_size: How many cached nodes to keep in memory.
@@ -186,6 +187,7 @@ class InvokeAIAppConfig(BaseSettings):
186187
force_tiled_decode: bool = Field(default=False, description="Whether to enable tiled VAE decode (reduces memory consumption with some performance penalty).")
187188
pil_compress_level: int = Field(default=1, description="The compress_level setting of PIL.Image.save(), used for PNG encoding. All settings are lossless. 0 = no compression, 1 = fastest with slightly larger filesize, 9 = slowest with smallest filesize. 1 is typically the best setting.")
188189
max_queue_size: int = Field(default=10000, gt=0, description="Maximum number of items in the session queue.")
190+
clear_queue_on_startup: bool = Field(default=False, description="Empties session queue on startup.")
189191

190192
# NODES
191193
allow_nodes: Optional[list[str]] = Field(default=None, description="List of nodes to allow. Omit to allow all.")

invokeai/app/services/session_queue/session_queue_sqlite.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,14 @@ class SqliteSessionQueue(SessionQueueBase):
3737
def start(self, invoker: Invoker) -> None:
3838
self.__invoker = invoker
3939
self._set_in_progress_to_canceled()
40-
prune_result = self.prune(DEFAULT_QUEUE_ID)
41-
42-
if prune_result.deleted > 0:
43-
self.__invoker.services.logger.info(f"Pruned {prune_result.deleted} finished queue items")
40+
if self.__invoker.services.configuration.clear_queue_on_startup:
41+
clear_result = self.clear(DEFAULT_QUEUE_ID)
42+
if clear_result.deleted > 0:
43+
self.__invoker.services.logger.info(f"Cleared all {clear_result.deleted} queue items")
44+
else:
45+
prune_result = self.prune(DEFAULT_QUEUE_ID)
46+
if prune_result.deleted > 0:
47+
self.__invoker.services.logger.info(f"Pruned {prune_result.deleted} finished queue items")
4448

4549
def __init__(self, db: SqliteDatabase) -> None:
4650
super().__init__()

0 commit comments

Comments
 (0)