1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 02:39:33 +02:00

Speed up overviews route

This commit is contained in:
Chocobozzz 2018-09-14 11:52:23 +02:00
parent 2b62cccd75
commit 7348b1fd84
No known key found for this signature in database
GPG key ID: 583A612D890159BE
7 changed files with 80 additions and 44 deletions

View file

@ -1,12 +1,12 @@
import { ResultList } from '../../shared'
import { CONFIG } from '../initializers'
import { ActorModel } from '../models/activitypub/actor'
import { ApplicationModel } from '../models/application/application'
import { pseudoRandomBytesPromise, sha256 } from './core-utils'
import { logger } from './logger'
import { join } from 'path'
import { Instance as ParseTorrent } from 'parse-torrent'
import { remove } from 'fs-extra'
import * as memoizee from 'memoizee'
function deleteFileAsync (path: string) {
remove(path)
@ -36,24 +36,12 @@ function getFormattedObjects<U, T extends FormattableToJSON> (objects: T[], obje
} as ResultList<U>
}
async function getServerActor () {
if (getServerActor.serverActor === undefined) {
const application = await ApplicationModel.load()
if (!application) throw Error('Could not load Application from database.')
const getServerActor = memoizee(async function () {
const application = await ApplicationModel.load()
if (!application) throw Error('Could not load Application from database.')
getServerActor.serverActor = application.Account.Actor
}
if (!getServerActor.serverActor) {
logger.error('Cannot load server actor.')
process.exit(0)
}
return Promise.resolve(getServerActor.serverActor)
}
namespace getServerActor {
export let serverActor: ActorModel
}
return application.Account.Actor
})
function generateVideoTmpPath (target: string | ParseTorrent) {
const id = typeof target === 'string' ? target : target.infoHash