diff options
author | Chocobozzz <me@florianbigard.com> | 2021-02-26 16:26:27 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-03-03 10:08:08 +0100 |
commit | 74d249bc1346c7cfaac7ee49bebbebcf2a01f82a (patch) | |
tree | d47bd163ae57ed8f15b445296634cc04f4f67b6f /server/lib/job-queue/job-queue.ts | |
parent | 095e2258043fcff8a79ab082d11edfbd8f13a8e2 (diff) | |
download | PeerTube-74d249bc1346c7cfaac7ee49bebbebcf2a01f82a.tar.gz PeerTube-74d249bc1346c7cfaac7ee49bebbebcf2a01f82a.tar.zst PeerTube-74d249bc1346c7cfaac7ee49bebbebcf2a01f82a.zip |
Add ability to cleanup remote AP interactions
Diffstat (limited to 'server/lib/job-queue/job-queue.ts')
-rw-r--r-- | server/lib/job-queue/job-queue.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/server/lib/job-queue/job-queue.ts b/server/lib/job-queue/job-queue.ts index efda2e038..42e8347b1 100644 --- a/server/lib/job-queue/job-queue.ts +++ b/server/lib/job-queue/job-queue.ts | |||
@@ -21,6 +21,7 @@ import { | |||
21 | import { logger } from '../../helpers/logger' | 21 | import { logger } from '../../helpers/logger' |
22 | import { JOB_ATTEMPTS, JOB_COMPLETED_LIFETIME, JOB_CONCURRENCY, JOB_TTL, REPEAT_JOBS, WEBSERVER } from '../../initializers/constants' | 22 | import { JOB_ATTEMPTS, JOB_COMPLETED_LIFETIME, JOB_CONCURRENCY, JOB_TTL, REPEAT_JOBS, WEBSERVER } from '../../initializers/constants' |
23 | import { Redis } from '../redis' | 23 | import { Redis } from '../redis' |
24 | import { processActivityPubCleaner } from './handlers/activitypub-cleaner' | ||
24 | import { processActivityPubFollow } from './handlers/activitypub-follow' | 25 | import { processActivityPubFollow } from './handlers/activitypub-follow' |
25 | import { processActivityPubHttpBroadcast } from './handlers/activitypub-http-broadcast' | 26 | import { processActivityPubHttpBroadcast } from './handlers/activitypub-http-broadcast' |
26 | import { processActivityPubHttpFetcher } from './handlers/activitypub-http-fetcher' | 27 | import { processActivityPubHttpFetcher } from './handlers/activitypub-http-fetcher' |
@@ -38,6 +39,7 @@ type CreateJobArgument = | |||
38 | { type: 'activitypub-http-broadcast', payload: ActivitypubHttpBroadcastPayload } | | 39 | { type: 'activitypub-http-broadcast', payload: ActivitypubHttpBroadcastPayload } | |
39 | { type: 'activitypub-http-unicast', payload: ActivitypubHttpUnicastPayload } | | 40 | { type: 'activitypub-http-unicast', payload: ActivitypubHttpUnicastPayload } | |
40 | { type: 'activitypub-http-fetcher', payload: ActivitypubHttpFetcherPayload } | | 41 | { type: 'activitypub-http-fetcher', payload: ActivitypubHttpFetcherPayload } | |
42 | { type: 'activitypub-http-cleaner', payload: {} } | | ||
41 | { type: 'activitypub-follow', payload: ActivitypubFollowPayload } | | 43 | { type: 'activitypub-follow', payload: ActivitypubFollowPayload } | |
42 | { type: 'video-file-import', payload: VideoFileImportPayload } | | 44 | { type: 'video-file-import', payload: VideoFileImportPayload } | |
43 | { type: 'video-transcoding', payload: VideoTranscodingPayload } | | 45 | { type: 'video-transcoding', payload: VideoTranscodingPayload } | |
@@ -58,6 +60,7 @@ const handlers: { [id in JobType]: (job: Bull.Job) => Promise<any> } = { | |||
58 | 'activitypub-http-broadcast': processActivityPubHttpBroadcast, | 60 | 'activitypub-http-broadcast': processActivityPubHttpBroadcast, |
59 | 'activitypub-http-unicast': processActivityPubHttpUnicast, | 61 | 'activitypub-http-unicast': processActivityPubHttpUnicast, |
60 | 'activitypub-http-fetcher': processActivityPubHttpFetcher, | 62 | 'activitypub-http-fetcher': processActivityPubHttpFetcher, |
63 | 'activitypub-cleaner': processActivityPubCleaner, | ||
61 | 'activitypub-follow': processActivityPubFollow, | 64 | 'activitypub-follow': processActivityPubFollow, |
62 | 'video-file-import': processVideoFileImport, | 65 | 'video-file-import': processVideoFileImport, |
63 | 'video-transcoding': processVideoTranscoding, | 66 | 'video-transcoding': processVideoTranscoding, |
@@ -75,6 +78,7 @@ const jobTypes: JobType[] = [ | |||
75 | 'activitypub-http-broadcast', | 78 | 'activitypub-http-broadcast', |
76 | 'activitypub-http-fetcher', | 79 | 'activitypub-http-fetcher', |
77 | 'activitypub-http-unicast', | 80 | 'activitypub-http-unicast', |
81 | 'activitypub-cleaner', | ||
78 | 'email', | 82 | 'email', |
79 | 'video-transcoding', | 83 | 'video-transcoding', |
80 | 'video-file-import', | 84 | 'video-file-import', |
@@ -233,6 +237,12 @@ class JobQueue { | |||
233 | this.queues['videos-views'].add({}, { | 237 | this.queues['videos-views'].add({}, { |
234 | repeat: REPEAT_JOBS['videos-views'] | 238 | repeat: REPEAT_JOBS['videos-views'] |
235 | }).catch(err => logger.error('Cannot add repeatable job.', { err })) | 239 | }).catch(err => logger.error('Cannot add repeatable job.', { err })) |
240 | |||
241 | if (CONFIG.FEDERATION.VIDEOS.CLEANUP_REMOTE_INTERACTIONS) { | ||
242 | this.queues['activitypub-cleaner'].add({}, { | ||
243 | repeat: REPEAT_JOBS['activitypub-cleaner'] | ||
244 | }).catch(err => logger.error('Cannot add repeatable job.', { err })) | ||
245 | } | ||
236 | } | 246 | } |
237 | 247 | ||
238 | private filterJobTypes (jobType?: JobType) { | 248 | private filterJobTypes (jobType?: JobType) { |