summaryrefslogtreecommitdiff
path: root/packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts')
-rw-r--r--packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts b/packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts
new file mode 100644
index 0000000000..3ff3dd090c
--- /dev/null
+++ b/packages/backend/src/queue/ObjectStorageQueueProcessorsService.ts
@@ -0,0 +1,24 @@
+import { Inject, Injectable } from '@nestjs/common';
+import type { ObjectStorageJobData } from '@/queue/types.js';
+import { DI } from '@/di-symbols.js';
+import type { Config } from '@/config.js';
+import { CleanRemoteFilesProcessorService } from './processors/CleanRemoteFilesProcessorService.js';
+import { DeleteFileProcessorService } from './processors/DeleteFileProcessorService.js';
+import type Bull from 'bull';
+
+@Injectable()
+export class ObjectStorageQueueProcessorsService {
+ constructor(
+ @Inject(DI.config)
+ private config: Config,
+
+ private deleteFileProcessorService: DeleteFileProcessorService,
+ private cleanRemoteFilesProcessorService: CleanRemoteFilesProcessorService,
+ ) {
+ }
+
+ public start(q: Bull.Queue): void {
+ q.process('deleteFile', 16, (job) => this.deleteFileProcessorService.process(job));
+ q.process('cleanRemoteFiles', 16, (job, done) => this.cleanRemoteFilesProcessorService.process(job, done));
+ }
+}