X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fserver-commands%2Fserver%2Fjobs.ts;fp=shared%2Fserver-commands%2Fserver%2Fjobs.ts;h=ff309806351c9e088b305236b447246bc6818f11;hb=d102de1b38f2877463529c3b27bd35ffef4fd8bf;hp=e1d6cdff4034f031cc58d03db18cba7277c3c0e6;hpb=2fe978744e5b74eb824e4d79c1bb9b840169f125;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/server-commands/server/jobs.ts b/shared/server-commands/server/jobs.ts index e1d6cdff4..ff3098063 100644 --- a/shared/server-commands/server/jobs.ts +++ b/shared/server-commands/server/jobs.ts @@ -1,16 +1,17 @@ import { expect } from 'chai' import { wait } from '@shared/core-utils' -import { JobState, JobType } from '../../models' +import { JobState, JobType, RunnerJobState } from '../../models' import { PeerTubeServer } from './server' async function waitJobs ( serversArg: PeerTubeServer[] | PeerTubeServer, options: { skipDelayed?: boolean // default false + runnerJobs?: boolean // default false } = {} ) { - const { skipDelayed = false } = options + const { skipDelayed = false, runnerJobs = false } = options const pendingJobWait = process.env.NODE_PENDING_JOB_WAIT ? parseInt(process.env.NODE_PENDING_JOB_WAIT, 10) @@ -33,7 +34,8 @@ async function waitJobs ( // Check if each server has pending request for (const server of servers) { for (const state of states) { - const p = server.jobs.list({ + + const jobPromise = server.jobs.list({ state, start: 0, count: 10, @@ -46,17 +48,29 @@ async function waitJobs ( } }) - tasks.push(p) + tasks.push(jobPromise) } - const p = server.debug.getDebug() + const debugPromise = server.debug.getDebug() .then(obj => { if (obj.activityPubMessagesWaiting !== 0) { pendingRequests = true } }) + tasks.push(debugPromise) + + if (runnerJobs) { + const runnerJobsPromise = server.runnerJobs.list({ count: 100 }) + .then(({ data }) => { + for (const job of data) { + if (job.state.id !== RunnerJobState.COMPLETED) { + pendingRequests = true + } + } + }) + tasks.push(runnerJobsPromise) + } - tasks.push(p) } return tasks