immich/server/src/domain/asset
Michael Manganiello 4a5b8c3770
feat(server): Enqueue jobs in bulk (#5974)
* feat(server): Enqueue jobs in bulk

The Job Repository now has a `queueAll` method, that enqueues messages
in bulk (using BullMQ's
[`addBulk`](https://docs.bullmq.io/guide/queues/adding-bulks)),
improving performance when many jobs must be enqueued within the same
operation.

Primary change is in `src/domain/job/job.service.ts`, and other services
have been refactored to use `queueAll` when useful.

As a simple local benchmark, triggering a full thumbnail generation
process over a library of ~1,200 assets and ~350 faces went from
**~600ms** to **~250ms**.

* fix: Review feedback
2024-01-01 15:45:42 -05:00
..
dto feat: Edit metadata (#5066) 2023-11-30 03:52:28 +00:00
response-dto fix(web): don't limit merge face selector to 10 people (#5551) 2023-12-08 08:21:29 -06:00
asset.service.spec.ts feat(server): Enqueue jobs in bulk (#5974) 2024-01-01 15:45:42 -05:00
asset.service.ts feat(server): Enqueue jobs in bulk (#5974) 2024-01-01 15:45:42 -05:00
index.ts refactor: domain repositories (#4403) 2023-10-09 14:25:03 +00:00