Skip to main content

Class: abstract BaseJobProcessor<JobDataType>

jobs/src.BaseJobProcessor

Extends​

  • WorkerHost

Type parameters​

▪ JobDataType extends VersionedJobData

Implements​

  • OnApplicationBootstrap

Constructors​

new BaseJobProcessor(queue, logger, lockService)​

new BaseJobProcessor<JobDataType>(queue, logger, lockService): BaseJobProcessor<JobDataType>

Parameters​

▪ queue: Queue<JobDataType, any, string>

▪ logger: PinoLogger

▪ lockService: RedlockService

Returns​

BaseJobProcessor<JobDataType>

Overrides​

WorkerHost.constructor

Source​

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

Properties​

GET_JOBS_BATCH_SIZE​

protected GET_JOBS_BATCH_SIZE: number = 100

Source​

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


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

Source​

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


lockEnd​

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

Source​

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


lockPrefix​

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

Source​

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


lockService​

protected readonly lockService: RedlockService

Source​

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


logger​

protected readonly logger: PinoLogger

Source​

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


minimalSupportedVersion​

protected minimalSupportedVersion: number = 0

Source​

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


queue​

protected queue: Queue<JobDataType, any, string>

Source​

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


singleRunningJobGlobally​

protected singleRunningJobGlobally: boolean = false

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

Source​

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


getJobId​

protected getJobId(job): string

Parameters​

▪ job: Job<JobDataType, any, string>

Returns​

string

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>

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>

Source​

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


onApplicationBootstrap​

onApplicationBootstrap(): void

Returns​

void

Implementation of​

OnApplicationBootstrap.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​

WorkerHost.onApplicationShutdown

Source​

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


abstract process​

abstract process(job, token?): Promise<any>

Parameters​

▪ job: Job<any, any, string>

▪ token?: string

Returns​

Promise<any>

Inherited from​

WorkerHost.process

Source​

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


retrieveActiveJobs​

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

Parameters​

▪ pageNumber: number

Returns​

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

Source​

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


verifyJobVersionMatch​

protected verifyJobVersionMatch(job): void

Parameters​

▪ job: Job<JobDataType, any, string>

Returns​

void

Source​

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


Generated using typedoc-plugin-markdown and TypeDoc