]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/jobs/http-request-job-scheduler/http-request-broadcast-handler.ts
Follow works
[github/Chocobozzz/PeerTube.git] / server / lib / jobs / http-request-job-scheduler / http-request-broadcast-handler.ts
1 import { logger } from '../../../helpers'
2 import { doRequest } from '../../../helpers/requests'
3 import { HTTPRequestPayload } from './http-request-job-scheduler'
4
5 async function process (payload: HTTPRequestPayload, jobId: number) {
6 logger.info('Processing broadcast in job %d.', jobId)
7
8 const options = {
9 method: 'POST',
10 uri: '',
11 json: payload.body
12 }
13
14 for (const uri of payload.uris) {
15 options.uri = uri
16 await doRequest(options)
17 }
18 }
19
20 function onError (err: Error, jobId: number) {
21 logger.error('Error when broadcasting request in job %d.', jobId, err)
22 return Promise.resolve()
23 }
24
25 async function onSuccess (jobId: number) {
26 logger.info('Job %d is a success.', jobId)
27 }
28
29 // ---------------------------------------------------------------------------
30
31 export {
32 process,
33 onError,
34 onSuccess
35 }