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

Optimize broadcast job creation

This commit is contained in:
Chocobozzz 2022-06-17 10:49:37 +02:00
parent b9e49a45f5
commit 3396e65345
No known key found for this signature in database
GPG key ID: 583A612D890159BE
6 changed files with 49 additions and 62 deletions

View file

@ -1,6 +1,13 @@
import Bluebird from 'bluebird'
import { wait } from '@shared/core-utils'
import { createSingleServer, doubleFollow, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
import {
createSingleServer,
doubleFollow,
killallServers,
PeerTubeServer,
setAccessTokensToServers,
waitJobs
} from '@shared/server-commands'
let servers: PeerTubeServer[]
const viewers: { xForwardedFor: string }[] = []
@ -9,6 +16,7 @@ let videoId: string
run()
.then(() => process.exit(0))
.catch(err => console.error(err))
.finally(() => killallServers(servers))
async function run () {
await prepare()
@ -69,9 +77,13 @@ async function prepare () {
async function runViewers () {
console.log('Will run views of %d viewers.', viewers.length)
const before = new Date().getTime()
await Bluebird.map(viewers, viewer => {
return servers[0].views.simulateView({ id: videoId, xForwardedFor: viewer.xForwardedFor })
}, { concurrency: 100 })
console.log('Finished to run views in %d seconds.', (new Date().getTime() - before) / 1000)
await wait(5000)
}