refactor(server): event emits (#10648)

* refactor(server): event emits

* refactor: change default priority to 0
This commit is contained in:
Jason Rasmussen 2024-06-27 15:54:20 -04:00 committed by GitHub
parent 7e99394c70
commit 72bf9439b0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
25 changed files with 222 additions and 171 deletions

View file

@ -1,8 +1,8 @@
import { Injectable } from '@nestjs/common';
import { OnEvents } from 'src/interfaces/event.interface';
import { IDeleteFilesJob, JobName } from 'src/interfaces/job.interface';
import { AssetService } from 'src/services/asset.service';
import { AuditService } from 'src/services/audit.service';
import { DatabaseService } from 'src/services/database.service';
import { DuplicateService } from 'src/services/duplicate.service';
import { JobService } from 'src/services/job.service';
import { LibraryService } from 'src/services/library.service';
@ -14,18 +14,15 @@ import { SessionService } from 'src/services/session.service';
import { SmartInfoService } from 'src/services/smart-info.service';
import { StorageTemplateService } from 'src/services/storage-template.service';
import { StorageService } from 'src/services/storage.service';
import { SystemConfigService } from 'src/services/system-config.service';
import { UserService } from 'src/services/user.service';
import { VersionService } from 'src/services/version.service';
import { otelShutdown } from 'src/utils/instrumentation';
@Injectable()
export class MicroservicesService {
export class MicroservicesService implements OnEvents {
constructor(
private auditService: AuditService,
private assetService: AssetService,
private configService: SystemConfigService,
private databaseService: DatabaseService,
private jobService: JobService,
private libraryService: LibraryService,
private mediaService: MediaService,
@ -41,11 +38,11 @@ export class MicroservicesService {
private versionService: VersionService,
) {}
async init() {
await this.databaseService.init();
await this.configService.init();
await this.libraryService.init();
await this.notificationService.init();
async onBootstrapEvent(app: 'api' | 'microservices') {
if (app !== 'microservices') {
return;
}
await this.jobService.init({
[JobName.ASSET_DELETION]: (data) => this.assetService.handleAssetDeletion(data),
[JobName.ASSET_DELETION_CHECK]: () => this.assetService.handleAssetDeletionCheck(),
@ -95,13 +92,9 @@ export class MicroservicesService {
[JobName.NOTIFY_SIGNUP]: (data) => this.notificationService.handleUserSignup(data),
[JobName.VERSION_CHECK]: () => this.versionService.handleVersionCheck(),
});
await this.metadataService.init();
}
async teardown() {
await this.libraryService.teardown();
await this.metadataService.teardown();
async onShutdown() {
await otelShutdown();
}
}