diff options
author | Chocobozzz <me@florianbigard.com> | 2022-03-16 15:34:21 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2022-03-16 15:45:58 +0100 |
commit | f012319a644fe8d9d33f2f567fa828442a3b39fd (patch) | |
tree | 8fc7aeff10749ed8088e3f89745433b59bb62c20 /server/lib/job-queue/job-queue.ts | |
parent | 83664918901564830f3b7d1bd9879411a1b857a8 (diff) | |
download | PeerTube-f012319a644fe8d9d33f2f567fa828442a3b39fd.tar.gz PeerTube-f012319a644fe8d9d33f2f567fa828442a3b39fd.tar.zst PeerTube-f012319a644fe8d9d33f2f567fa828442a3b39fd.zip |
Process video torrents in order
Prevent update before video torrent generation for example
Diffstat (limited to 'server/lib/job-queue/job-queue.ts')
-rw-r--r-- | server/lib/job-queue/job-queue.ts | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/server/lib/job-queue/job-queue.ts b/server/lib/job-queue/job-queue.ts index e10a3bab5..3224abcc3 100644 --- a/server/lib/job-queue/job-queue.ts +++ b/server/lib/job-queue/job-queue.ts | |||
@@ -12,6 +12,7 @@ import { | |||
12 | EmailPayload, | 12 | EmailPayload, |
13 | JobState, | 13 | JobState, |
14 | JobType, | 14 | JobType, |
15 | ManageVideoTorrentPayload, | ||
15 | MoveObjectStoragePayload, | 16 | MoveObjectStoragePayload, |
16 | RefreshPayload, | 17 | RefreshPayload, |
17 | VideoEditionPayload, | 18 | VideoEditionPayload, |
@@ -31,6 +32,7 @@ import { processActivityPubHttpUnicast } from './handlers/activitypub-http-unica | |||
31 | import { refreshAPObject } from './handlers/activitypub-refresher' | 32 | import { refreshAPObject } from './handlers/activitypub-refresher' |
32 | import { processActorKeys } from './handlers/actor-keys' | 33 | import { processActorKeys } from './handlers/actor-keys' |
33 | import { processEmail } from './handlers/email' | 34 | import { processEmail } from './handlers/email' |
35 | import { processManageVideoTorrent } from './handlers/manage-video-torrent' | ||
34 | import { processMoveToObjectStorage } from './handlers/move-to-object-storage' | 36 | import { processMoveToObjectStorage } from './handlers/move-to-object-storage' |
35 | import { processVideoEdition } from './handlers/video-edition' | 37 | import { processVideoEdition } from './handlers/video-edition' |
36 | import { processVideoFileImport } from './handlers/video-file-import' | 38 | import { processVideoFileImport } from './handlers/video-file-import' |
@@ -56,6 +58,7 @@ type CreateJobArgument = | |||
56 | { type: 'video-redundancy', payload: VideoRedundancyPayload } | | 58 | { type: 'video-redundancy', payload: VideoRedundancyPayload } | |
57 | { type: 'delete-resumable-upload-meta-file', payload: DeleteResumableUploadMetaFilePayload } | | 59 | { type: 'delete-resumable-upload-meta-file', payload: DeleteResumableUploadMetaFilePayload } | |
58 | { type: 'video-edition', payload: VideoEditionPayload } | | 60 | { type: 'video-edition', payload: VideoEditionPayload } | |
61 | { type: 'manage-video-torrent', payload: ManageVideoTorrentPayload } | | ||
59 | { type: 'move-to-object-storage', payload: MoveObjectStoragePayload } | 62 | { type: 'move-to-object-storage', payload: MoveObjectStoragePayload } |
60 | 63 | ||
61 | export type CreateJobOptions = { | 64 | export type CreateJobOptions = { |
@@ -79,6 +82,7 @@ const handlers: { [id in JobType]: (job: Job) => Promise<any> } = { | |||
79 | 'actor-keys': processActorKeys, | 82 | 'actor-keys': processActorKeys, |
80 | 'video-redundancy': processVideoRedundancy, | 83 | 'video-redundancy': processVideoRedundancy, |
81 | 'move-to-object-storage': processMoveToObjectStorage, | 84 | 'move-to-object-storage': processMoveToObjectStorage, |
85 | 'manage-video-torrent': processManageVideoTorrent, | ||
82 | 'video-edition': processVideoEdition | 86 | 'video-edition': processVideoEdition |
83 | } | 87 | } |
84 | 88 | ||
@@ -98,6 +102,7 @@ const jobTypes: JobType[] = [ | |||
98 | 'actor-keys', | 102 | 'actor-keys', |
99 | 'video-live-ending', | 103 | 'video-live-ending', |
100 | 'move-to-object-storage', | 104 | 'move-to-object-storage', |
105 | 'manage-video-torrent', | ||
101 | 'video-edition' | 106 | 'video-edition' |
102 | ] | 107 | ] |
103 | 108 | ||
@@ -185,7 +190,7 @@ class JobQueue { | |||
185 | } | 190 | } |
186 | 191 | ||
187 | createJobWithPromise (obj: CreateJobArgument, options: CreateJobOptions = {}) { | 192 | createJobWithPromise (obj: CreateJobArgument, options: CreateJobOptions = {}) { |
188 | const queue = this.queues[obj.type] | 193 | const queue: Queue = this.queues[obj.type] |
189 | if (queue === undefined) { | 194 | if (queue === undefined) { |
190 | logger.error('Unknown queue %s: cannot create job.', obj.type) | 195 | logger.error('Unknown queue %s: cannot create job.', obj.type) |
191 | return | 196 | return |