backend: optimize room deletion logic in LivekitWebhookService for finished meetings
This commit is contained in:
parent
270fbc0e5e
commit
2168279baf
@ -181,6 +181,12 @@ export class LivekitWebhookService {
|
|||||||
|
|
||||||
this.logger.info(`Processing room_finished event for room: ${roomName}`);
|
this.logger.info(`Processing room_finished event for room: ${roomName}`);
|
||||||
|
|
||||||
|
if (meetRoom.markedForDeletion) {
|
||||||
|
// If the room is marked for deletion, we need to delete it
|
||||||
|
this.logger.info(`Deleting room ${roomName} after meeting finished because it was marked for deletion`);
|
||||||
|
await this.roomService.bulkDeleteRooms([roomName], true);
|
||||||
|
}
|
||||||
|
|
||||||
const results = await Promise.allSettled([
|
const results = await Promise.allSettled([
|
||||||
this.recordingService.releaseRecordingLockIfNoEgress(roomName),
|
this.recordingService.releaseRecordingLockIfNoEgress(roomName),
|
||||||
this.openViduWebhookService.sendMeetingEndedWebhook(meetRoom)
|
this.openViduWebhookService.sendMeetingEndedWebhook(meetRoom)
|
||||||
@ -191,12 +197,6 @@ export class LivekitWebhookService {
|
|||||||
this.logger.error(`Error processing room_finished event: ${result.reason}`);
|
this.logger.error(`Error processing room_finished event: ${result.reason}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (meetRoom.markedForDeletion) {
|
|
||||||
// If the room is marked for deletion, we need to delete it
|
|
||||||
this.logger.info(`Deleting room ${roomName} after meeting finished because it was marked for deletion`);
|
|
||||||
this.roomService.bulkDeleteRooms([roomName], true);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(`Error handling room finished event: ${error}`);
|
this.logger.error(`Error handling room finished event: ${error}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user