Chocobozzz/PeerTube

View on GitHub
scripts/simulate-many-viewers-worker.ts

Summary

Maintainability
A
0 mins
Test Coverage
import Bluebird from 'bluebird'
import { PeerTubeServer } from '@peertube/peertube-server-commands'

module.exports = async function sendViews (options: {
  url: string
  videoId: number
  viewers: { xForwardedFor: string }[]
}) {
  const { url, videoId, viewers } = options

  const server = new PeerTubeServer({ url })

  await Bluebird.map(viewers, viewer => {
    return server.views.simulateView({ id: videoId, xForwardedFor: viewer.xForwardedFor })
      .catch(err => console.error('Cannot simulate viewer', err))
  }, { concurrency: 500 })
}