diff options
author | Chocobozzz <me@florianbigard.com> | 2022-10-25 14:18:59 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2022-10-25 14:18:59 +0200 |
commit | aa887096f9a305568dc3a846d0c9cdf7e45f1c67 (patch) | |
tree | 5dc455d680ebdd24644ebe29b2f129afb903b421 /server/lib/live | |
parent | 508c1b1e9f3b26752a961e945b7fa59b72b30827 (diff) | |
download | PeerTube-aa887096f9a305568dc3a846d0c9cdf7e45f1c67.tar.gz PeerTube-aa887096f9a305568dc3a846d0c9cdf7e45f1c67.tar.zst PeerTube-aa887096f9a305568dc3a846d0c9cdf7e45f1c67.zip |
Correctly delete live files from object storage
Diffstat (limited to 'server/lib/live')
-rw-r--r-- | server/lib/live/live-utils.ts | 6 | ||||
-rw-r--r-- | server/lib/live/shared/muxing-session.ts | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/server/lib/live/live-utils.ts b/server/lib/live/live-utils.ts index d2b8e3a55..c0dec9829 100644 --- a/server/lib/live/live-utils.ts +++ b/server/lib/live/live-utils.ts | |||
@@ -3,7 +3,7 @@ import { basename, join } from 'path' | |||
3 | import { logger } from '@server/helpers/logger' | 3 | import { logger } from '@server/helpers/logger' |
4 | import { MStreamingPlaylist, MStreamingPlaylistVideo, MVideo } from '@server/types/models' | 4 | import { MStreamingPlaylist, MStreamingPlaylistVideo, MVideo } from '@server/types/models' |
5 | import { VideoStorage } from '@shared/models' | 5 | import { VideoStorage } from '@shared/models' |
6 | import { listHLSFileKeysOf, removeHLSFileObjectStorage, removeHLSObjectStorage } from '../object-storage' | 6 | import { listHLSFileKeysOf, removeHLSFileObjectStorageByFullKey, removeHLSObjectStorage } from '../object-storage' |
7 | import { getLiveDirectory } from '../paths' | 7 | import { getLiveDirectory } from '../paths' |
8 | 8 | ||
9 | function buildConcatenatedName (segmentOrPlaylistPath: string) { | 9 | function buildConcatenatedName (segmentOrPlaylistPath: string) { |
@@ -77,11 +77,13 @@ async function cleanupTMPLiveFilesFromFilesystem (video: MVideo) { | |||
77 | async function cleanupTMPLiveFilesFromObjectStorage (streamingPlaylist: MStreamingPlaylistVideo) { | 77 | async function cleanupTMPLiveFilesFromObjectStorage (streamingPlaylist: MStreamingPlaylistVideo) { |
78 | if (streamingPlaylist.storage !== VideoStorage.OBJECT_STORAGE) return | 78 | if (streamingPlaylist.storage !== VideoStorage.OBJECT_STORAGE) return |
79 | 79 | ||
80 | logger.info('Cleanup TMP live files from object storage for %s.', streamingPlaylist.Video.uuid) | ||
81 | |||
80 | const keys = await listHLSFileKeysOf(streamingPlaylist) | 82 | const keys = await listHLSFileKeysOf(streamingPlaylist) |
81 | 83 | ||
82 | for (const key of keys) { | 84 | for (const key of keys) { |
83 | if (isTMPLiveFile(key)) { | 85 | if (isTMPLiveFile(key)) { |
84 | await removeHLSFileObjectStorage(streamingPlaylist, key) | 86 | await removeHLSFileObjectStorageByFullKey(key) |
85 | } | 87 | } |
86 | } | 88 | } |
87 | } | 89 | } |
diff --git a/server/lib/live/shared/muxing-session.ts b/server/lib/live/shared/muxing-session.ts index 64add2611..6ec126955 100644 --- a/server/lib/live/shared/muxing-session.ts +++ b/server/lib/live/shared/muxing-session.ts | |||
@@ -10,7 +10,7 @@ import { getLiveMuxingCommand, getLiveTranscodingCommand } from '@server/helpers | |||
10 | import { logger, loggerTagsFactory, LoggerTagsFn } from '@server/helpers/logger' | 10 | import { logger, loggerTagsFactory, LoggerTagsFn } from '@server/helpers/logger' |
11 | import { CONFIG } from '@server/initializers/config' | 11 | import { CONFIG } from '@server/initializers/config' |
12 | import { MEMOIZE_TTL, VIDEO_LIVE } from '@server/initializers/constants' | 12 | import { MEMOIZE_TTL, VIDEO_LIVE } from '@server/initializers/constants' |
13 | import { removeHLSFileObjectStorage, storeHLSFileFromFilename, storeHLSFileFromPath } from '@server/lib/object-storage' | 13 | import { removeHLSFileObjectStorageByPath, storeHLSFileFromFilename, storeHLSFileFromPath } from '@server/lib/object-storage' |
14 | import { VideoFileModel } from '@server/models/video/video-file' | 14 | import { VideoFileModel } from '@server/models/video/video-file' |
15 | import { MStreamingPlaylistVideo, MUserId, MVideoLiveVideo } from '@server/types/models' | 15 | import { MStreamingPlaylistVideo, MUserId, MVideoLiveVideo } from '@server/types/models' |
16 | import { VideoStorage } from '@shared/models' | 16 | import { VideoStorage } from '@shared/models' |
@@ -341,7 +341,7 @@ class MuxingSession extends EventEmitter { | |||
341 | 341 | ||
342 | if (this.streamingPlaylist.storage === VideoStorage.OBJECT_STORAGE) { | 342 | if (this.streamingPlaylist.storage === VideoStorage.OBJECT_STORAGE) { |
343 | try { | 343 | try { |
344 | await removeHLSFileObjectStorage(this.streamingPlaylist, segmentPath) | 344 | await removeHLSFileObjectStorageByPath(this.streamingPlaylist, segmentPath) |
345 | } catch (err) { | 345 | } catch (err) { |
346 | logger.error('Cannot remove segment %s from object storage', segmentPath, { err, ...this.lTags() }) | 346 | logger.error('Cannot remove segment %s from object storage', segmentPath, { err, ...this.lTags() }) |
347 | } | 347 | } |