diff options
author | Chocobozzz <me@florianbigard.com> | 2020-11-13 14:36:30 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2020-11-13 14:36:30 +0100 |
commit | 5c0904fc664e3eb04ac75a9430c1297c2a14f853 (patch) | |
tree | 6ede3183976686f113aca6c06ba36b99cfe965f4 /server/lib/live-manager.ts | |
parent | 786b855af726599a9c877eefa6fa8508c36e1aca (diff) | |
download | PeerTube-5c0904fc664e3eb04ac75a9430c1297c2a14f853.tar.gz PeerTube-5c0904fc664e3eb04ac75a9430c1297c2a14f853.tar.zst PeerTube-5c0904fc664e3eb04ac75a9430c1297c2a14f853.zip |
Cleanup lives on server restart
Diffstat (limited to 'server/lib/live-manager.ts')
-rw-r--r-- | server/lib/live-manager.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/server/lib/live-manager.ts b/server/lib/live-manager.ts index 2702437c4..fe5b33322 100644 --- a/server/lib/live-manager.ts +++ b/server/lib/live-manager.ts | |||
@@ -99,6 +99,10 @@ class LiveManager { | |||
99 | } | 99 | } |
100 | }) | 100 | }) |
101 | 101 | ||
102 | // Cleanup broken lives, that were terminated by a server restart for example | ||
103 | this.handleBrokenLives() | ||
104 | .catch(err => logger.error('Cannot handle broken lives.', { err })) | ||
105 | |||
102 | setInterval(() => this.updateLiveViews(), VIEW_LIFETIME.LIVE) | 106 | setInterval(() => this.updateLiveViews(), VIEW_LIFETIME.LIVE) |
103 | } | 107 | } |
104 | 108 | ||
@@ -468,6 +472,14 @@ class LiveManager { | |||
468 | } | 472 | } |
469 | } | 473 | } |
470 | 474 | ||
475 | private async handleBrokenLives () { | ||
476 | const videoIds = await VideoModel.listPublishedLiveIds() | ||
477 | |||
478 | for (const id of videoIds) { | ||
479 | await this.onEndTransmuxing(id, true) | ||
480 | } | ||
481 | } | ||
482 | |||
471 | static get Instance () { | 483 | static get Instance () { |
472 | return this.instance || (this.instance = new this()) | 484 | return this.instance || (this.instance = new this()) |
473 | } | 485 | } |