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:
Jason Rasmussen
2023-01-21 23:13:36 -05:00
committed by GitHub
parent f4c90426a5
commit 4cfac47674
34 changed files with 418 additions and 1124 deletions

View File

@@ -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 });
}
}

View File

@@ -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;