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
protectedGET_JOBS_BATCH_SIZE:number=100
Source
libs/jobs/src/lib/job/base-job.processor.ts:12
lockDuration
protectedlockDuration: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
protectedlockEnd:string='base-job-lock-env'
Source
libs/jobs/src/lib/job/base-job.processor.ts:16
lockPrefix
protectedlockPrefix:string='base-job-lock-prefix'
Source
libs/jobs/src/lib/job/base-job.processor.ts:15
lockService
protectedreadonlylockService:RedlockService
Source
libs/jobs/src/lib/job/base-job.processor.ts:114
logger
protectedreadonlylogger:PinoLogger
Source
libs/jobs/src/lib/job/base-job.processor.ts:113
minimalSupportedVersion
protectedminimalSupportedVersion:number=0
Source
libs/jobs/src/lib/job/base-job.processor.ts:13
queue
protectedqueue:Queue<JobDataType,any,string>
Source
libs/jobs/src/lib/job/base-job.processor.ts:112
singleRunningJobGlobally
protectedsingleRunningJobGlobally:boolean=false
Source
libs/jobs/src/lib/job/base-job.processor.ts:14
Accessors
worker
getworker():T
Returns
T
Source
node_modules/@nestjs/bullmq/dist/hosts/worker-host.class.d.ts:5
Methods
assignLoggerContextVariables
protectedassignLoggerContextVariables(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
protectedgetJobId(job):string
Parameters
▪ job: Job<JobDataType, any, string>
Returns
string
Source
libs/jobs/src/lib/job/base-job.processor.ts:140
hasJobRunning
protectedhasJobRunning(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
protectedhasOtherActiveJobsById(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
abstractprocess(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
protectedretrieveActiveJobs(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
protectedverifyJobVersionMatch(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