Перейти до основного вмісту

Class: abstract JobProcessor<JobDataType>

jobs/src.JobProcessor

Extends​

Type parameters​

▪ JobDataType extends VersionedJobData

Constructors​

new JobProcessor(queue, logger, lockService, jobVersionService, jobExecutionService)​

new JobProcessor<JobDataType>(queue, logger, lockService, jobVersionService, jobExecutionService): JobProcessor<JobDataType>

Parameters​

▪ queue: Queue<JobDataType, any, string>

▪ logger: PinoLogger

▪ lockService: RedlockService

▪ jobVersionService: AbstractJobVersionService<JobVersion, "id", "id" | keyof BaseTrackedEntityHelper, JobVersionRepository<JobVersion, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

▪ jobExecutionService: AbstractJobExecutionService<JobExecution, "id", "id" | keyof BaseTrackedEntityHelper, JobExecutionRepository<JobExecution, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

Returns​

JobProcessor<JobDataType>

Overrides​

BaseJobProcessor.constructor

Source​

libs/jobs/src/lib/job/job.processor.ts:17

Properties​

GET_JOBS_BATCH_SIZE​

protected GET_JOBS_BATCH_SIZE: number = 100

Inherited from​

BaseJobProcessor.GET_JOBS_BATCH_SIZE

Source​

libs/jobs/src/lib/job/base-job.processor.ts:12


jobExecutionService​

protected jobExecutionService: AbstractJobExecutionService<JobExecution, "id", "id" | keyof BaseTrackedEntityHelper, JobExecutionRepository<JobExecution, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

Source​

libs/jobs/src/lib/job/job.processor.ts:22


jobVersionService​

protected jobVersionService: AbstractJobVersionService<JobVersion, "id", "id" | keyof BaseTrackedEntityHelper, JobVersionRepository<JobVersion, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

Source​

libs/jobs/src/lib/job/job.processor.ts:21


lockDuration​

protected lockDuration: number = 20_000

Lock is needed for a case when we don't want to run few jobs in the same time, and to avoid race conditions we need to lock a job, to retrieve all available jobs now from redis, because redis and only redis is a real source of truth for currently executing jobs

Inherited from​

BaseJobProcessor.lockDuration

Source​

libs/jobs/src/lib/job/base-job.processor.ts:24


lockEnd​

protected lockEnd: string = 'base-job-lock-env'

Inherited from​

BaseJobProcessor.lockEnd

Source​

libs/jobs/src/lib/job/base-job.processor.ts:16


lockPrefix​

protected lockPrefix: string = 'base-job-lock-prefix'

Inherited from​

BaseJobProcessor.lockPrefix

Source​

libs/jobs/src/lib/job/base-job.processor.ts:15


lockService​

protected readonly lockService: RedlockService

Inherited from​

BaseJobProcessor.lockService

Source​

libs/jobs/src/lib/job/base-job.processor.ts:114


logger​

protected readonly logger: PinoLogger

Inherited from​

BaseJobProcessor.logger

Source​

libs/jobs/src/lib/job/base-job.processor.ts:113


minimalSupportedVersion​

protected minimalSupportedVersion: number = 0

Inherited from​

BaseJobProcessor.minimalSupportedVersion

Source​

libs/jobs/src/lib/job/base-job.processor.ts:13


queue​

protected queue: Queue<JobDataType, any, string>

Inherited from​

BaseJobProcessor.queue

Source​

libs/jobs/src/lib/job/base-job.processor.ts:112


singleRunningJobGlobally​

protected singleRunningJobGlobally: boolean = false

Inherited from​

BaseJobProcessor.singleRunningJobGlobally

Source​

libs/jobs/src/lib/job/base-job.processor.ts:14

Accessors​

worker​

get worker(): T

Returns​

T

Source​

node_modules/@nestjs/bullmq/dist/hosts/worker-host.class.d.ts:5

Methods​

assignLoggerContextVariables​

protected assignLoggerContextVariables(job, token): void

Parameters​

▪ job: Job<JobDataType, any, string>

▪ token: string

Returns​

void

Inherited from​

BaseJobProcessor.assignLoggerContextVariables

Source​

libs/jobs/src/lib/job/base-job.processor.ts:119


baseTrackJobData​

protected baseTrackJobData(jobVersion, token?): Partial<BaseJobExecution>

Parameters​

▪ jobVersion: BaseJobVersion

▪ token?: string

Returns​

Partial<BaseJobExecution>

Source​

libs/jobs/src/lib/job/job.processor.ts:84


getJobId​

protected getJobId(job): string

Parameters​

▪ job: Job<JobDataType, any, string>

Returns​

string

Inherited from​

BaseJobProcessor.getJobId

Source​

libs/jobs/src/lib/job/base-job.processor.ts:140


hasJobRunning​

protected hasJobRunning(job): Promise<boolean>

This function acquiring a lock for a finding current running jobs to avoid race conditions

Parameters​

▪ job: Job<JobDataType, any, string>

Returns​

Promise<boolean>

Inherited from​

BaseJobProcessor.hasJobRunning

Source​

libs/jobs/src/lib/job/base-job.processor.ts:157


hasOtherActiveJobsById​

protected hasOtherActiveJobsById(job, onNextIteration): Promise<boolean>

Parameters​

▪ job: Job<JobDataType, any, string>

▪ onNextIteration: (activeJobsCount) => Promise<void>

Returns​

Promise<boolean>

Inherited from​

BaseJobProcessor.hasOtherActiveJobsById

Source​

libs/jobs/src/lib/job/base-job.processor.ts:179


onApplicationBootstrap​

onApplicationBootstrap(): void

Returns​

void

Inherited from​

BaseJobProcessor.onApplicationBootstrap

Source​

libs/jobs/src/lib/job/base-job.processor.ts:26


onApplicationShutdown​

onApplicationShutdown(signal?): Promise<void>

Parameters​

▪ signal?: string

Returns​

Promise<void>

Inherited from​

BaseJobProcessor.onApplicationShutdown

Source​

node_modules/@nestjs/bullmq/dist/hosts/worker-host.class.d.ts:7


process​

process(job, token?): Promise<unknown>

Parameters​

▪ job: Job<JobDataType, any, string>

▪ token?: string

Returns​

Promise<unknown>

Overrides​

BaseJobProcessor.process

Source​

libs/jobs/src/lib/job/job.processor.ts:34


retrieveActiveJobs​

protected retrieveActiveJobs(pageNumber): Promise<Job<JobDataType, any, string>[]>

Parameters​

▪ pageNumber: number

Returns​

Promise<Job<JobDataType, any, string>[]>

Inherited from​

BaseJobProcessor.retrieveActiveJobs

Source​

libs/jobs/src/lib/job/base-job.processor.ts:218


abstract run​

protected abstract run(job, jobVersion, token?): Promise<unknown>

Parameters​

▪ job: Job<JobDataType, any, string>

▪ jobVersion: BaseJobVersion

▪ token?: string

Returns​

Promise<unknown>

Source​

libs/jobs/src/lib/job/job.processor.ts:27


trackJobCompleted​

protected trackJobCompleted<T>(jobVersion, token?, jobResult?): Promise<void>

Type parameters​

▪ T

Parameters​

▪ jobVersion: BaseJobVersion

▪ token?: string

▪ jobResult?: T

Returns​

Promise<void>

Source​

libs/jobs/src/lib/job/job.processor.ts:114


trackJobFailed​

protected trackJobFailed(jobVersion, err, token?): Promise<void>

Parameters​

▪ jobVersion: BaseJobVersion

▪ err: unknown

▪ token?: string

Returns​

Promise<void>

Source​

libs/jobs/src/lib/job/job.processor.ts:127


trackJobProgress​

protected trackJobProgress(jobVersion, progress, token?): Promise<void>

Parameters​

▪ jobVersion: BaseJobVersion

▪ progress: number

▪ token?: string

Returns​

Promise<void>

Source​

libs/jobs/src/lib/job/job.processor.ts:102


trackJobSkipped​

protected trackJobSkipped(jobVersion, token?): Promise<void>

Parameters​

▪ jobVersion: BaseJobVersion

▪ token?: string

Returns​

Promise<void>

Source​

libs/jobs/src/lib/job/job.processor.ts:144


trackJobStart​

protected trackJobStart(jobVersion, token?): Promise<void>

Parameters​

▪ jobVersion: BaseJobVersion

▪ token?: string

Returns​

Promise<void>

Source​

libs/jobs/src/lib/job/job.processor.ts:94


verifyJobVersionMatch​

protected verifyJobVersionMatch(job): void

Parameters​

▪ job: Job<JobDataType, any, string>

Returns​

void

Inherited from​

BaseJobProcessor.verifyJobVersionMatch

Source​

libs/jobs/src/lib/job/base-job.processor.ts:132


Generated using typedoc-plugin-markdown and TypeDoc