InvokeAI/invokeai/app/api
psychedelicious 4f2318571d 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 09:23:10 -04:00
..
routers Maryhipp/dummy bulk download (#4852) 2023-10-11 23:27:22 +00:00
dependencies.py feat(backend): organise service dependencies 2023-10-12 09:23:10 -04:00
events.py Event service will now sleep for 100ms between polls instead of 1ms, reducing CPU usage significantly 2023-04-23 21:27:02 +01:00
sockets.py Remove fastapi-socketio dependency, doesn't really do much for us and… (#4552) 2023-09-20 22:30:01 +00:00