X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fjob-queue%2Fhandlers%2Factivitypub-http-broadcast.ts;h=c69ff9e83fd2dcf5a920e51c47ad55a7d15ae66e;hb=20213fbd2a366dffc35aa7dddad71323893f8d62;hp=abbd89b3b1a8f4f5f39bf44083294f0acbddaf5b;hpb=729bb184819ddda1d7313da0c30b3397e5689721;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/job-queue/handlers/activitypub-http-broadcast.ts b/server/lib/job-queue/handlers/activitypub-http-broadcast.ts index abbd89b3b..c69ff9e83 100644 --- a/server/lib/job-queue/handlers/activitypub-http-broadcast.ts +++ b/server/lib/job-queue/handlers/activitypub-http-broadcast.ts @@ -1,16 +1,11 @@ -import * as Bull from 'bull' import * as Bluebird from 'bluebird' +import * as Bull from 'bull' +import { ActivitypubHttpBroadcastPayload } from '@shared/models' import { logger } from '../../../helpers/logger' import { doRequest } from '../../../helpers/requests' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { BROADCAST_CONCURRENCY, REQUEST_TIMEOUT } from '../../../initializers/constants' +import { ActorFollowScoreCache } from '../../files-cache' import { buildGlobalHeaders, buildSignedRequestOptions, computeBody } from './utils/activitypub-http-utils' -import { BROADCAST_CONCURRENCY, JOB_REQUEST_TIMEOUT } from '../../../initializers' - -export type ActivitypubHttpBroadcastPayload = { - uris: string[] - signatureActorId?: number - body: any -} async function processActivityPubHttpBroadcast (job: Bull.Job) { logger.info('Processing ActivityPub broadcast in job %d.', job.id) @@ -21,11 +16,10 @@ async function processActivityPubHttpBroadcast (job: Bull.Job) { const httpSignatureOptions = await buildSignedRequestOptions(payload) const options = { - method: 'POST', - uri: '', + method: 'POST' as 'POST', json: body, httpSignature: httpSignatureOptions, - timeout: JOB_REQUEST_TIMEOUT, + timeout: REQUEST_TIMEOUT, headers: buildGlobalHeaders(body) } @@ -33,12 +27,12 @@ async function processActivityPubHttpBroadcast (job: Bull.Job) { const goodUrls: string[] = [] await Bluebird.map(payload.uris, uri => { - return doRequest(Object.assign({}, options, { uri })) + return doRequest(uri, options) .then(() => goodUrls.push(uri)) .catch(() => badUrls.push(uri)) }, { concurrency: BROADCAST_CONCURRENCY }) - return ActorFollowModel.updateActorFollowsScore(goodUrls, badUrls, undefined) + return ActorFollowScoreCache.Instance.updateActorFollowsScore(goodUrls, badUrls) } // ---------------------------------------------------------------------------