From 47350f1b10cf2db691acf5f00ba5b6a63e834dc9 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Tue, 22 Apr 2025 11:13:30 +0200 Subject: [PATCH] backend: Refactor recording timeout handling by extracting timeout registration into a separate method --- backend/src/services/recording.service.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/backend/src/services/recording.service.ts b/backend/src/services/recording.service.ts index f510f62..5e4a41e 100644 --- a/backend/src/services/recording.service.ts +++ b/backend/src/services/recording.service.ts @@ -94,17 +94,10 @@ export class RecordingService { this.taskSchedulerService.cancelTask(`${roomId}_recording_timeout`); this.systemEventService.off(SystemEventType.RECORDING_ACTIVE, eventListener); resolve(info as unknown as MeetRecordingInfo); - } else { - this.logger.error('Received recording active event with mismatched recording ID:', info); } }; - this.taskSchedulerService.registerTask({ - name: `${roomId}_recording_timeout`, - type: 'timeout', - scheduleOrDelay: INTERNAL_CONFIG.RECORDING_STARTED_TIMEOUT, - callback: this.handleRecordingLockTimeout.bind(this, recordingId, roomId, eventListener, reject) - }); + this.registerRecordingTimeout(roomId, recordingId, eventListener, reject); this.systemEventService.on(SystemEventType.RECORDING_ACTIVE, eventListener); }); @@ -609,6 +602,20 @@ export class RecordingService { await this.s3Service.saveObject(metadataPath, recordingInfo); } + protected registerRecordingTimeout( + roomId: string, + recordingId: string, + eventListener: (info: Record) => void, + reject: (reason?: unknown) => void + ): void { + this.taskSchedulerService.registerTask({ + name: `${roomId}_recording_timeout`, + type: 'timeout', + scheduleOrDelay: INTERNAL_CONFIG.RECORDING_STARTED_TIMEOUT, + callback: this.handleRecordingLockTimeout.bind(this, recordingId, roomId, eventListener, reject) + }); + } + /** * Cleans up orphaned recording locks in the system. *