mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-10-29 17:40:28 +00:00
refactor(server): job repository (#1382)
* refactor(server): job repository * refactor: job repository * chore: generate open-api * fix: job panel * Remove incorrect subtitle Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
@@ -1,17 +1,16 @@
|
||||
import { QueueName } from '@app/domain';
|
||||
import { InjectQueue } from '@nestjs/bull';
|
||||
import { Injectable, OnModuleInit } from '@nestjs/common';
|
||||
import { Queue } from 'bull';
|
||||
import { Inject, Injectable, OnModuleInit } from '@nestjs/common';
|
||||
import { IJobRepository, JobName } from '@app/domain';
|
||||
|
||||
const sleep = (ms: number) => new Promise<void>((resolve) => setTimeout(() => resolve(), ms));
|
||||
|
||||
@Injectable()
|
||||
export class MicroservicesService implements OnModuleInit {
|
||||
constructor(
|
||||
@InjectQueue(QueueName.CHECKSUM_GENERATION)
|
||||
private generateChecksumQueue: Queue,
|
||||
) {}
|
||||
constructor(@Inject(IJobRepository) private jobRepository: IJobRepository) {}
|
||||
|
||||
async onModuleInit() {
|
||||
// wait for migration
|
||||
await this.generateChecksumQueue.add({}, { delay: 10000 });
|
||||
await sleep(10_000);
|
||||
|
||||
await this.jobRepository.add({ name: JobName.CHECKSUM_GENERATION });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AssetEntity } from '@app/infra';
|
||||
import { QueueName } from '@app/domain';
|
||||
import { JobName, QueueName } from '@app/domain';
|
||||
import { Process, Processor } from '@nestjs/bull';
|
||||
import { Logger } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
@@ -15,7 +15,7 @@ export class GenerateChecksumProcessor {
|
||||
private assetRepository: Repository<AssetEntity>,
|
||||
) {}
|
||||
|
||||
@Process()
|
||||
@Process(JobName.CHECKSUM_GENERATION)
|
||||
async generateChecksum() {
|
||||
const pageSize = 200;
|
||||
let hasNext = true;
|
||||
|
||||
Reference in New Issue
Block a user