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