mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
93e4c3dbc2
The session is never updated in the queue after it is first enqueued. As a result, the queue detail view in the frontend never never updates and the session itself doesn't show outputs, execution graph, etc. We need a new method on the queue service to update a queue item's session, then call it before updating the queue item's status. Queue item status may be updated via a session-type event _or_ queue-type event. Adding the updated session to all these events is a hairy - simpler to just update the session before we do anything that could trigger a queue item status change event: - Before calling `emit_session_complete` in the processor (handles session error, completed and cancel events and the corresponding queue events) - Before calling `cancel_queue_item` in the processor (handles another way queue items can be canceled, outside the session execution loop) When serializing the session, both in the new service method and the `get_queue_item` endpoint, we need to use `exclude_none=True` to prevent unexpected validation errors. |
||
---|---|---|
.. | ||
board_image_records | ||
board_images | ||
board_records | ||
boards | ||
bulk_download | ||
config | ||
download | ||
events | ||
image_files | ||
image_records | ||
images | ||
invocation_cache | ||
invocation_stats | ||
item_storage | ||
model_images | ||
model_install | ||
model_load | ||
model_manager | ||
model_records | ||
names | ||
object_serializer | ||
session_processor | ||
session_queue | ||
shared | ||
urls | ||
workflow_records | ||
__init__.py | ||
invocation_services.py | ||
invoker.py |