From f27b7a750f1876632e84d594608d3d64ce974efc Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 17 Jun 2022 14:08:13 +0200 Subject: Send views in a dedicated queue --- client/src/app/+admin/system/jobs/jobs.component.ts | 1 + server/initializers/constants.ts | 3 +++ server/lib/activitypub/send/send-view.ts | 2 +- server/lib/activitypub/send/shared/send-utils.ts | 19 +++++++++++++++---- server/lib/job-queue/job-queue.ts | 3 +++ shared/models/server/job.model.ts | 1 + 6 files changed, 24 insertions(+), 5 deletions(-) diff --git a/client/src/app/+admin/system/jobs/jobs.component.ts b/client/src/app/+admin/system/jobs/jobs.component.ts index f7e10fd04..42f503be6 100644 --- a/client/src/app/+admin/system/jobs/jobs.component.ts +++ b/client/src/app/+admin/system/jobs/jobs.component.ts @@ -25,6 +25,7 @@ export class JobsComponent extends RestTable implements OnInit { 'activitypub-follow', 'activitypub-http-broadcast', + 'activitypub-http-broadcast-parallel', 'activitypub-http-fetcher', 'activitypub-http-unicast', 'activitypub-refresher', diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 6034da1c6..cd2cc33d3 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -139,6 +139,7 @@ const REMOTE_SCHEME = { const JOB_ATTEMPTS: { [id in JobType]: number } = { 'activitypub-http-broadcast': 1, + 'activitypub-http-broadcast-parallel': 1, 'activitypub-http-unicast': 1, 'activitypub-http-fetcher': 2, 'activitypub-follow': 5, @@ -159,6 +160,7 @@ const JOB_ATTEMPTS: { [id in JobType]: number } = { // Excluded keys are jobs that can be configured by admins const JOB_CONCURRENCY: { [id in Exclude]: number } = { 'activitypub-http-broadcast': 1, + 'activitypub-http-broadcast-parallel': 30, 'activitypub-http-unicast': 10, 'activitypub-http-fetcher': 3, 'activitypub-cleaner': 1, @@ -176,6 +178,7 @@ const JOB_CONCURRENCY: { [id in Exclude Promise } = { 'activitypub-http-broadcast': processActivityPubHttpBroadcast, + 'activitypub-http-broadcast-parallel': processActivityPubHttpBroadcast, 'activitypub-http-unicast': processActivityPubHttpUnicast, 'activitypub-http-fetcher': processActivityPubHttpFetcher, 'activitypub-cleaner': processActivityPubCleaner, @@ -89,6 +91,7 @@ const handlers: { [id in JobType]: (job: Job) => Promise } = { const jobTypes: JobType[] = [ 'activitypub-follow', 'activitypub-http-broadcast', + 'activitypub-http-broadcast-parallel', 'activitypub-http-fetcher', 'activitypub-http-unicast', 'activitypub-cleaner', diff --git a/shared/models/server/job.model.ts b/shared/models/server/job.model.ts index 073f15872..4633ab769 100644 --- a/shared/models/server/job.model.ts +++ b/shared/models/server/job.model.ts @@ -9,6 +9,7 @@ export type JobState = 'active' | 'completed' | 'failed' | 'waiting' | 'delayed' export type JobType = | 'activitypub-http-unicast' | 'activitypub-http-broadcast' + | 'activitypub-http-broadcast-parallel' | 'activitypub-http-fetcher' | 'activitypub-cleaner' | 'activitypub-follow' -- cgit v1.2.3