]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/jobs/activitypub-http-job-scheduler/activitypub-http-job-scheduler.ts
Speed up activity pub http requests
[github/Chocobozzz/PeerTube.git] / server / lib / jobs / activitypub-http-job-scheduler / activitypub-http-job-scheduler.ts
1 import { JobScheduler, JobHandler } from '../job-scheduler'
2
3 import * as activitypubHttpBroadcastHandler from './activitypub-http-broadcast-handler'
4 import * as activitypubHttpUnicastHandler from './activitypub-http-unicast-handler'
5 import { JobCategory } from '../../../../shared'
6
7 type ActivityPubHttpPayload = {
8 uris: string[]
9 signatureAccountId: number
10 body: any
11 }
12 const jobHandlers: { [ handlerName: string ]: JobHandler<ActivityPubHttpPayload, void> } = {
13 activitypubHttpBroadcastHandler,
14 activitypubHttpUnicastHandler
15 }
16 const jobCategory: JobCategory = 'activitypub-http'
17
18 const activitypubHttpJobScheduler = new JobScheduler(jobCategory, jobHandlers)
19
20 export {
21 ActivityPubHttpPayload,
22 activitypubHttpJobScheduler
23 }