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