More logs for webtorrent download

This commit is contained in:
Chocobozzz 2021-08-26 15:19:11 +02:00
parent 0dce48c1e2
commit 0bae66632a
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 12 additions and 5 deletions

View File

@ -17,6 +17,7 @@ import { promisify2 } from './core-utils'
import { logger } from './logger' import { logger } from './logger'
import { generateVideoImportTmpPath } from './utils' import { generateVideoImportTmpPath } from './utils'
import { extractVideo } from './video' import { extractVideo } from './video'
import { pipeline } from 'stream'
const createTorrentPromise = promisify2<string, any, any>(createTorrent) const createTorrentPromise = promisify2<string, any, any>(createTorrent)
@ -49,6 +50,8 @@ async function downloadWebTorrentVideo (target: { magnetUri: string, torrentName
.then(() => rej(new Error('Cannot import torrent ' + torrentId + ': there are multiple files in it'))) .then(() => rej(new Error('Cannot import torrent ' + torrentId + ': there are multiple files in it')))
} }
logger.debug('Got torrent from webtorrent %s.', id, { infoHash: torrent.infoHash, files: torrent.files })
file = torrent.files[0] file = torrent.files[0]
// FIXME: avoid creating another stream when https://github.com/webtorrent/webtorrent/issues/1517 is fixed // FIXME: avoid creating another stream when https://github.com/webtorrent/webtorrent/issues/1517 is fixed
@ -61,7 +64,11 @@ async function downloadWebTorrentVideo (target: { magnetUri: string, torrentName
.catch(err => logger.error('Cannot destroy webtorrent.', { err })) .catch(err => logger.error('Cannot destroy webtorrent.', { err }))
}) })
file.createReadStream().pipe(writeStream) pipeline(
file.createReadStream(),
writeStream,
err => rej(err)
)
}) })
torrent.on('error', err => rej(err)) torrent.on('error', err => rej(err))

View File

@ -329,14 +329,14 @@ export class VideosRedundancyScheduler extends AbstractScheduler {
private async isTooHeavy (candidateToDuplicate: CandidateToDuplicate) { private async isTooHeavy (candidateToDuplicate: CandidateToDuplicate) {
const maxSize = candidateToDuplicate.redundancy.size const maxSize = candidateToDuplicate.redundancy.size
const { totalUsed: used } = await VideoRedundancyModel.getStats(candidateToDuplicate.redundancy.strategy) const { totalUsed: alreadyUsed } = await VideoRedundancyModel.getStats(candidateToDuplicate.redundancy.strategy)
const videoSize = this.getTotalFileSizes(candidateToDuplicate.files, candidateToDuplicate.streamingPlaylists) const videoSize = this.getTotalFileSizes(candidateToDuplicate.files, candidateToDuplicate.streamingPlaylists)
const total = used + videoSize const willUse = alreadyUsed + videoSize
logger.debug('Checking candidate size.', { used, videoSize, total, ...lTags(candidateToDuplicate.video.uuid) }) logger.debug('Checking candidate size.', { maxSize, alreadyUsed, videoSize, willUse, ...lTags(candidateToDuplicate.video.uuid) })
return total > maxSize return willUse > maxSize
} }
private buildNewExpiration (expiresAfterMs: number) { private buildNewExpiration (expiresAfterMs: number) {