InvokeAI/invokeai/app/services
psychedelicious 2a35d93a4d feat(backend): organise service dependencies
**Service Dependencies**

Services that depend on other services now access those services via the `Invoker` object. This object is provided to the service as a kwarg to its `start()` method.

Until now, most services did not utilize this feature, and several services required their dependencies to be initialized and passed in on init.

Additionally, _all_ services are now registered as invocation services - including the low-level services. This obviates issues with inter-dependent services we would otherwise experience as we add workflow storage.

**Database Access**

Previously, we were passing in a separate sqlite connection and corresponding lock as args to services in their init. A good amount of posturing was done in each service that uses the db.

These objects, along with the sqlite startup and cleanup logic, is now abstracted into a simple `SqliteDatabase` class. This creates the shared connection and lock objects, enables foreign keys, and provides a `clean()` method to do startup db maintenance.

This is not a service as it's only used by sqlite services.
2023-10-12 12:15:06 -04:00
..
config feat(images): add png_compress_level config 2023-10-05 08:24:52 +11:00
invocation_cache fix(backend): remove extra cache arg (#4698) 2023-09-26 10:03:48 -04:00
models isort wip 2023-09-12 13:01:58 -04:00
session_processor fix(nodes): mark session queue items failed on processor error 2023-10-05 09:32:29 +11:00
session_queue feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
shared feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
__init__.py all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
board_image_record_storage.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
board_images.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
board_record_storage.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
boards.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
default_graphs.py feat: queued generation (#4502) 2023-09-20 15:09:24 +10:00
events.py feat(events): add batch status and queue status to queue item status changed events 2023-10-09 20:11:21 +11:00
graph.py chore: flake8 2023-10-05 09:32:29 +11:00
image_file_storage.py chore: isort 2023-10-05 08:24:52 +11:00
image_record_storage.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
images.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
invocation_queue.py fix: canvas not working on queue 2023-09-20 09:57:10 -04:00
invocation_services.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
invocation_stats.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
invoker.py fix: canvas not working on queue 2023-09-20 09:57:10 -04:00
item_storage.py Apply black 2023-07-27 10:54:01 -04:00
latent_storage.py feat(backend): selective invalidation for invocation cache 2023-09-20 18:26:47 +10:00
model_manager_service.py fix: canvas not working on queue 2023-09-20 09:57:10 -04:00
processor.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
resource_name.py feat: queued generation (#4502) 2023-09-20 15:09:24 +10:00
sqlite.py feat(backend): organise service dependencies 2023-10-12 12:15:06 -04:00
urls.py feat: add multi-select to gallery 2023-08-03 11:46:59 +10:00