Class: abstract JobProcessor<JobDataType>
jobs/src.JobProcessor
Extends
BaseJobProcessor<JobDataType>
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
Source
libs/jobs/src/lib/job/job.processor.ts:17
Properties
GET_JOBS_BATCH_SIZE
protectedGET_JOBS_BATCH_SIZE:number=100
Inherited from
BaseJobProcessor.GET_JOBS_BATCH_SIZE
Source
libs/jobs/src/lib/job/base-job.processor.ts:12
jobExecutionService
protectedjobExecutionService:AbstractJobExecutionService<JobExecution,"id","id"| keyofBaseTrackedEntityHelper,JobExecutionRepository<JobExecution,"id","id","id"| keyofBaseTrackedEntityHelper>>
Source
libs/jobs/src/lib/job/job.processor.ts:22
jobVersionService
protectedjobVersionService:AbstractJobVersionService<JobVersion,"id","id"| keyofBaseTrackedEntityHelper,JobVersionRepository<JobVersion,"id","id","id"| keyofBaseTrackedEntityHelper>>
Source
libs/jobs/src/lib/job/job.processor.ts:21
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
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:24
lockEnd
protectedlockEnd:string='base-job-lock-env'
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:16
lockPrefix
protectedlockPrefix:string='base-job-lock-prefix'
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:15
lockService
protectedreadonlylockService:RedlockService
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:114
logger
protectedreadonlylogger:PinoLogger
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:113
minimalSupportedVersion
protectedminimalSupportedVersion:number=0
Inherited from
BaseJobProcessor.minimalSupportedVersion
Source
libs/jobs/src/lib/job/base-job.processor.ts:13
queue
protectedqueue:Queue<JobDataType,any,string>
Inherited from
Source
libs/jobs/src/lib/job/base-job.processor.ts:112
singleRunningJobGlobally
protectedsingleRunningJobGlobally:boolean=false
Inherited from
BaseJobProcessor.singleRunningJobGlobally
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
Inherited from
BaseJobProcessor.assignLoggerContextVariables
Source
libs/jobs/src/lib/job/base-job.processor.ts:119
baseTrackJobData
protectedbaseTrackJobData(jobVersion,token?):Partial<BaseJobExecution>
Parameters
▪ jobVersion: BaseJobVersion
▪ token?: string
Returns
Partial<BaseJobExecution>
Source
libs/jobs/src/lib/job/job.processor.ts:84
getJobId
protectedgetJobId(job):string
Parameters
▪ job: Job<JobDataType, any, string>
Returns
string
Inherited from
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>
Inherited from
BaseJobProcessor.hasJobRunning
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>
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
Source
libs/jobs/src/lib/job/job.processor.ts:34
retrieveActiveJobs
protectedretrieveActiveJobs(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
protectedabstractrun(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
protectedtrackJobCompleted<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
protectedtrackJobFailed(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
protectedtrackJobProgress(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
protectedtrackJobSkipped(jobVersion,token?):Promise<void>
Parameters
▪ jobVersion: BaseJobVersion
▪ token?: string
Returns
Promise<void>
Source
libs/jobs/src/lib/job/job.processor.ts:144
trackJobStart
protectedtrackJobStart(jobVersion,token?):Promise<void>
Parameters
▪ jobVersion: BaseJobVersion
▪ token?: string
Returns
Promise<void>
Source
libs/jobs/src/lib/job/job.processor.ts:94