Skip to main content

Class: abstract JobProcessor<JobDataType>

jobs/src.JobProcessor

Extends

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

BaseJobProcessor.constructor

Source

libs/jobs/src/lib/job/job.processor.ts:17

Properties

GET_JOBS_BATCH_SIZE

protected GET_JOBS_BATCH_SIZE: number = 100

Inherited from

BaseJobProcessor.GET_JOBS_BATCH_SIZE

Source

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


jobExecutionService

protected jobExecutionService: AbstractJobExecutionService<JobExecution, "id", "id" | keyof BaseTrackedEntityHelper, JobExecutionRepository<JobExecution, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

Source

libs/jobs/src/lib/job/job.processor.ts:22


jobVersionService

protected jobVersionService: AbstractJobVersionService<JobVersion, "id", "id" | keyof BaseTrackedEntityHelper, JobVersionRepository<JobVersion, "id", "id", "id" | keyof BaseTrackedEntityHelper>>

Source

libs/jobs/src/lib/job/job.processor.ts:21


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

Inherited from

BaseJobProcessor.lockDuration

Source

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


lockEnd

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

Inherited from

BaseJobProcessor.lockEnd

Source

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


lockPrefix

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

Inherited from

BaseJobProcessor.lockPrefix

Source

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


lockService

protected readonly lockService: RedlockService

Inherited from

BaseJobProcessor.lockService

Source

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


logger

protected readonly logger: PinoLogger

Inherited from

BaseJobProcessor.logger

Source

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


minimalSupportedVersion

protected minimalSupportedVersion: number = 0

Inherited from

BaseJobProcessor.minimalSupportedVersion

Source

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


queue

protected queue: Queue<JobDataType, any, string>

Inherited from

BaseJobProcessor.queue

Source

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


singleRunningJobGlobally

protected singleRunningJobGlobally: boolean = false

Inherited from

BaseJobProcessor.singleRunningJobGlobally

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

Inherited from

BaseJobProcessor.assignLoggerContextVariables

Source

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


baseTrackJobData

protected baseTrackJobData(jobVersion, token?): Partial<BaseJobExecution>

Parameters

jobVersion: BaseJobVersion

token?: string

Returns

Partial<BaseJobExecution>

Source

libs/jobs/src/lib/job/job.processor.ts:84


getJobId

protected getJobId(job): string

Parameters

job: Job<JobDataType, any, string>

Returns

string

Inherited from

BaseJobProcessor.getJobId

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>

Inherited from

BaseJobProcessor.hasJobRunning

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>

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

BaseJobProcessor.process

Source

libs/jobs/src/lib/job/job.processor.ts:34


retrieveActiveJobs

protected retrieveActiveJobs(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

protected abstract run(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

protected trackJobCompleted<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

protected trackJobFailed(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

protected trackJobProgress(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

protected trackJobSkipped(jobVersion, token?): Promise<void>

Parameters

jobVersion: BaseJobVersion

token?: string

Returns

Promise<void>

Source

libs/jobs/src/lib/job/job.processor.ts:144


trackJobStart

protected trackJobStart(jobVersion, token?): Promise<void>

Parameters

jobVersion: BaseJobVersion

token?: string

Returns

Promise<void>

Source

libs/jobs/src/lib/job/job.processor.ts:94


verifyJobVersionMatch

protected verifyJobVersionMatch(job): void

Parameters

job: Job<JobDataType, any, string>

Returns

void

Inherited from

BaseJobProcessor.verifyJobVersionMatch

Source

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


Generated using typedoc-plugin-markdown and TypeDoc