InvokeAI/invokeai/app/services
psychedelicious 93e4c3dbc2 feat(app): update queue item's session on session completion
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.
2024-05-24 08:59:49 +10:00
..
board_image_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
board_images feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
board_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
boards feat(api): chore: pydantic & fastapi upgrade 2023-10-17 14:59:25 +11:00
bulk_download feat(bulk_download): update response model, messages 2024-03-01 10:42:33 +11:00
config [util] Add generic torch device class (#6174) 2024-04-15 13:12:49 +00:00
download feat(mm): handle PC_PATH_MAX on external drives on macOS 2024-04-30 07:57:03 -04:00
events chore(app): ruff 2024-05-18 09:21:45 +10:00
image_files feat(app): simplified create image API 2024-05-18 09:04:37 +10:00
image_records fix(app): pass image metadata as stringified json 2024-05-18 09:04:37 +10:00
images fix(app): type annotations in images service 2024-05-18 09:04:37 +10:00
invocation_cache fix(nodes): correctly serialize outputs 2024-03-06 08:14:12 -05:00
invocation_stats fix(nodes): fix typing on stats service context manager 2024-03-01 10:42:33 +11:00
item_storage revert(nodes): revert making tensors/conditioning use item storage 2024-03-01 10:42:33 +11:00
model_images docs(mm): update comment about model images 2024-03-08 12:26:35 +11:00
model_install Re-enable app shutdown actions (#6244) 2024-04-19 06:45:42 -04:00
model_load feat(events): add submodel_type to model load events 2024-03-14 18:29:55 +05:30
model_manager [util] Add generic torch device class (#6174) 2024-04-15 13:12:49 +00:00
model_records Fix minor bugs involving model manager handling of model paths (#6024) 2024-03-22 01:14:45 +00:00
names feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
object_serializer tidy(app): remove unused class 2024-04-23 17:12:14 +10:00
session_processor feat(app): update queue item's session on session completion 2024-05-24 08:59:49 +10:00
session_queue feat(app): update queue item's session on session completion 2024-05-24 08:59:49 +10:00
shared feat(app): simplified create image API 2024-05-18 09:04:37 +10:00
urls cleanup 2024-03-06 21:57:41 -05:00
workflow_records chore(nodes): update default workflows for v4 2024-03-22 02:21:33 -07:00
__init__.py all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
invocation_services.py tidy(mm): ModelImages service 2024-03-06 21:57:41 -05:00
invoker.py refactor(nodes): merge processors 2024-03-01 10:42:33 +11:00