Server: throttle "seedAll" when starting the server

pull/10/head
Chocobozzz 2016-07-21 17:15:29 +02:00
parent 798442f665
commit 419633ce9d
2 changed files with 7 additions and 2 deletions

View File

@ -40,6 +40,10 @@ const SEARCHABLE_COLUMNS = {
VIDEOS: [ 'name', 'magnetUri', 'podUrl', 'author', 'tags' ]
}
// Seeds in parallel we send to electron when "seed all"
// Once a video is in seeding state we seed another video etc
const SEEDS_IN_PARALLEL = 3
// Sortable columns per schema
const SORTABLE_COLUMNS = {
VIDEOS: [ 'name', '-name', 'duration', '-duration', 'createdDate', '-createdDate' ]
@ -83,6 +87,7 @@ module.exports = {
REQUESTS_LIMIT: REQUESTS_LIMIT,
RETRY_REQUESTS: RETRY_REQUESTS,
SEARCHABLE_COLUMNS: SEARCHABLE_COLUMNS,
SEEDS_IN_PARALLEL: SEEDS_IN_PARALLEL,
SORTABLE_COLUMNS: SORTABLE_COLUMNS,
THUMBNAILS_SIZE: THUMBNAILS_SIZE,
THUMBNAILS_STATIC_PATH: THUMBNAILS_STATIC_PATH,

View File

@ -1,7 +1,7 @@
'use strict'
const config = require('config')
const each = require('async/each')
const eachLimit = require('async/eachLimit')
const ffmpeg = require('fluent-ffmpeg')
const fs = require('fs')
const parallel = require('async/parallel')
@ -235,7 +235,7 @@ function seedAllExisting (callback) {
listOwned.call(this, function (err, videos) {
if (err) return callback(err)
each(videos, function (video, callbackEach) {
eachLimit(videos, constants.SEEDS_IN_PARALLEL, function (video, callbackEach) {
const videoPath = pathUtils.join(uploadsDir, video.filename)
seed(videoPath, callbackEach)
}, callback)