Przeglądaj źródła

destroy stream when stream exists on add

Futa Arai 1 rok temu
rodzic
commit
8c5ec2e4ac

+ 1 - 1
apps/app/src/features/page-bulk-export/server/service/page-bulk-export/index.ts

@@ -383,7 +383,7 @@ class PageBulkExportService {
    * - abort multipart upload
    * - abort multipart upload
    */
    */
   async cleanUpExportJobResources(pageBulkExportJob: PageBulkExportJobDocument) {
   async cleanUpExportJobResources(pageBulkExportJob: PageBulkExportJobDocument) {
-    this.pageBulkExportJobStreamManager?.destroyJobStream(pageBulkExportJob._id);
+    this.pageBulkExportJobStreamManager.destroyJobStream(pageBulkExportJob._id);
 
 
     const promises = [
     const promises = [
       PageBulkExportPageSnapshot.deleteMany({ pageBulkExportJob }),
       PageBulkExportPageSnapshot.deleteMany({ pageBulkExportJob }),

+ 3 - 0
apps/app/src/features/page-bulk-export/server/service/page-bulk-export/page-bulk-export-job-stream-manager.ts

@@ -12,6 +12,9 @@ export class PageBulkExportJobStreamManager {
   private jobStreams: Record<string, Readable> = {};
   private jobStreams: Record<string, Readable> = {};
 
 
   addJobStream(jobId: ObjectIdLike, stream: Readable): void {
   addJobStream(jobId: ObjectIdLike, stream: Readable): void {
+    if (this.jobStreams[jobId.toString()] != null) {
+      this.destroyJobStream(jobId);
+    }
     this.jobStreams[jobId.toString()] = stream;
     this.jobStreams[jobId.toString()] = stream;
   }
   }