Skip to content

@nestarc/jobs ​

Classes ​

BullMQBackend ​

Defined in: src/backend/bullmq-backend.ts:118

Implements ​

Constructors ​

Constructor ​
ts
new BullMQBackend(opts): BullMQBackend;

Defined in: src/backend/bullmq-backend.ts:131

Parameters ​
ParameterType
optsBullMQBackendOptions
Returns ​

BullMQBackend

Methods ​

ack() ​
ts
ack(_jobType?, _jobId?): Promise<void>;

Defined in: src/backend/bullmq-backend.ts:429

Parameters ​
ParameterType
_jobType?string
_jobId?string
Returns ​

Promise<void>

Implementation of ​

JobsBackend.ack

capabilities() ​
ts
capabilities(): BackendCapabilities;

Defined in: src/backend/bullmq-backend.ts:142

Returns ​

BackendCapabilities

Implementation of ​

JobsBackend.capabilities

close() ​
ts
close(): Promise<void>;

Defined in: src/backend/bullmq-backend.ts:560

Returns ​

Promise<void>

Implementation of ​

JobsBackend.close

enqueue() ​
ts
enqueue(
   jobType,
   envelope,
opts): Promise<string>;

Defined in: src/backend/bullmq-backend.ts:163

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
Returns ​

Promise<string>

Implementation of ​

JobsBackend.enqueue

enqueueDetailed() ​
ts
enqueueDetailed(
   jobType,
   envelope,
   opts,
onCommit?): Promise<EnqueueResult>;

Defined in: src/backend/bullmq-backend.ts:171

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
onCommit?EnqueueCommitObserver
Returns ​

Promise<EnqueueResult>

Implementation of ​

JobsBackend.enqueueDetailed

fail() ​
ts
fail(
   _jobType?,
   _jobId?,
_reason?): Promise<void>;

Defined in: src/backend/bullmq-backend.ts:433

Parameters ​
ParameterType
_jobType?string
_jobId?string
_reason?string
Returns ​

Promise<void>

Implementation of ​

JobsBackend.fail

getJob() ​
ts
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/backend/bullmq-backend.ts:378

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobRecord<unknown, unknown> | null>

Implementation of ​

JobsBackend.getJob

getJobHistory() ​
ts
getJobHistory(_jobId): Promise<JobHistoryEntry[]>;

Defined in: src/backend/bullmq-backend.ts:417

Parameters ​
ParameterType
_jobIdstring
Returns ​

Promise<JobHistoryEntry[]>

Implementation of ​

JobsBackend.getJobHistory

getRawQueue() ​
ts
getRawQueue<TQueue>(jobType): TQueue;

Defined in: src/backend/bullmq-backend.ts:572

Type Parameters ​
Type ParameterDefault type
TQueueBullMQRawQueue
Parameters ​
ParameterType
jobTypestring
Returns ​

TQueue

moveToActive() ​
ts
moveToActive(_jobType?, _jobId?): Promise<JobEnvelope<unknown> | null>;

Defined in: src/backend/bullmq-backend.ts:425

Parameters ​
ParameterType
_jobType?string
_jobId?string
Returns ​

Promise<JobEnvelope<unknown> | null>

Implementation of ​

JobsBackend.moveToActive

peekWaiting() ​
ts
peekWaiting(_jobType?): Promise<JobEnvelope<unknown>[]>;

Defined in: src/backend/bullmq-backend.ts:421

Parameters ​
ParameterType
_jobType?string
Returns ​

Promise<JobEnvelope<unknown>[]>

Implementation of ​

JobsBackend.peekWaiting

pruneTerminal() ​
ts
pruneTerminal(options): Promise<number>;

Defined in: src/backend/bullmq-backend.ts:480

Offline maintenance: stop producers/admin writers first. Workers are paused and must be idle.

Parameters ​
ParameterType
optionsRetentionCleanupOptions
Returns ​

Promise<number>

registerJobTypes() ​
ts
registerJobTypes(jobTypes): void;

Defined in: src/backend/bullmq-backend.ts:159

Parameters ​
ParameterType
jobTypesIterable<string>
Returns ​

void

startConsumer() ​
ts
startConsumer(jobTypes, consumer): void;

Defined in: src/backend/bullmq-backend.ts:437

Parameters ​
ParameterType
jobTypesstring[]
consumerBullMQConsumerOptions
Returns ​

void


FairWorker ​

Defined in: src/fair-worker.ts:37

Constructors ​

Constructor ​
ts
new FairWorker(opts): FairWorker;

Defined in: src/fair-worker.ts:54

Parameters ​
ParameterType
optsFairWorkerOptions
Returns ​

FairWorker

Methods ​

outstandingJobIds() ​
ts
outstandingJobIds(): string[];

Defined in: src/fair-worker.ts:46

Returns ​

string[]

pendingRecoveryJobIds() ​
ts
pendingRecoveryJobIds(): string[];

Defined in: src/fair-worker.ts:42

Returns ​

string[]

tick() ​
ts
tick(): Promise<boolean>;

Defined in: src/fair-worker.ts:63

Returns ​

Promise<boolean>

waitForIdle() ​
ts
waitForIdle(): Promise<void>;

Defined in: src/fair-worker.ts:50

Returns ​

Promise<void>


FakeClock ​

Defined in: src/fake-clock.ts:1

Constructors ​

Constructor ​
ts
new FakeClock(now?): FakeClock;

Defined in: src/fake-clock.ts:4

Parameters ​
ParameterType
nowstring | number | Date
Returns ​

FakeClock

Methods ​

advanceBy() ​
ts
advanceBy(ms): Date;

Defined in: src/fake-clock.ts:12

Parameters ​
ParameterType
msnumber
Returns ​

Date

now() ​
ts
now(): Date;

Defined in: src/fake-clock.ts:8

Returns ​

Date

set() ​
ts
set(next): Date;

Defined in: src/fake-clock.ts:17

Parameters ​
ParameterType
nextstring | number | Date
Returns ​

Date


FakeJobsService ​

Defined in: src/fake-jobs.service.ts:20

Constructors ​

Constructor ​
ts
new FakeJobsService(opts): FakeJobsService;

Defined in: src/fake-jobs.service.ts:28

Parameters ​
ParameterType
optsFakeJobsOptions
Returns ​

FakeJobsService

Properties ​

backend ​
ts
readonly backend: InMemoryBackend;

Defined in: src/fake-jobs.service.ts:24

clock ​
ts
readonly clock: FakeClock;

Defined in: src/fake-jobs.service.ts:23

registry ​
ts
readonly registry: HandlerRegistry;

Defined in: src/fake-jobs.service.ts:22

schedulers ​
ts
readonly schedulers: Map<string, Scheduler>;

Defined in: src/fake-jobs.service.ts:25

service ​
ts
readonly service: JobsService;

Defined in: src/fake-jobs.service.ts:21

Methods ​

drain() ​
ts
drain(maxIterations?): Promise<void>;

Defined in: src/fake-jobs.service.ts:61

Parameters ​
ParameterTypeDefault value
maxIterationsnumber1000
Returns ​

Promise<void>

drainUntilIdle() ​
ts
drainUntilIdle(maxIterations?): Promise<void>;

Defined in: src/fake-jobs.service.ts:65

Parameters ​
ParameterTypeDefault value
maxIterationsnumber1000
Returns ​

Promise<void>


HandlerRegistry ​

Defined in: src/handler-registry.ts:6

Constructors ​

Constructor ​
ts
new HandlerRegistry(): HandlerRegistry;
Returns ​

HandlerRegistry

Methods ​

invoke() ​
ts
invoke(
   jobType,
   payload,
context): Promise<unknown>;

Defined in: src/handler-registry.ts:16

Parameters ​
ParameterType
jobTypestring
payloadRecord<string, unknown>
contextJobContext
Returns ​

Promise<unknown>

list() ​
ts
list(): string[];

Defined in: src/handler-registry.ts:26

Returns ​

string[]

register() ​
ts
register(jobType, handler): void;

Defined in: src/handler-registry.ts:9

Parameters ​
ParameterType
jobTypestring
handlerHandlerFn
Returns ​

void


InMemoryBackend ​

Defined in: src/backend/in-memory-backend.ts:58

Implements ​

Constructors ​

Constructor ​
ts
new InMemoryBackend(opts?): InMemoryBackend;

Defined in: src/backend/in-memory-backend.ts:67

Parameters ​
ParameterType
optsInMemoryBackendOptions
Returns ​

InMemoryBackend

Accessors ​

lifecycleState ​
Get Signature ​
ts
get lifecycleState(): "open" | "closing" | "closed";

Defined in: src/backend/in-memory-backend.ts:425

Returns ​

"open" | "closing" | "closed"

Methods ​

ack() ​
ts
ack(
   jobType,
   jobId,
activationId): Promise<JobRecord<unknown, unknown>>;

Defined in: src/backend/in-memory-backend.ts:207

Parameters ​
ParameterType
jobTypestring
jobIdstring
activationIdstring
Returns ​

Promise<JobRecord<unknown, unknown>>

Implementation of ​

JobsBackend.ack

beginClose() ​
ts
beginClose(): void;

Defined in: src/backend/in-memory-backend.ts:429

Returns ​

void

capabilities() ​
ts
capabilities(): BackendCapabilities;

Defined in: src/backend/in-memory-backend.ts:72

Returns ​

BackendCapabilities

Implementation of ​

JobsBackend.capabilities

close() ​
ts
close(): Promise<void>;

Defined in: src/backend/in-memory-backend.ts:443

Returns ​

Promise<void>

Implementation of ​

JobsBackend.close

discardDeadLetter() ​
ts
discardDeadLetter(jobId, reason?): Promise<void | JobRecord<unknown, unknown>>;

Defined in: src/backend/in-memory-backend.ts:376

Parameters ​
ParameterTypeDefault value
jobIdstringundefined
reasonstring'discarded'
Returns ​

Promise<void | JobRecord<unknown, unknown>>

Implementation of ​

JobsBackend.discardDeadLetter

enqueue() ​
ts
enqueue(
   jobType,
   envelope,
opts): Promise<string>;

Defined in: src/backend/in-memory-backend.ts:90

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
Returns ​

Promise<string>

Implementation of ​

JobsBackend.enqueue

enqueueDetailed() ​
ts
enqueueDetailed(
   jobType,
   envelope,
   opts,
onCommit?): Promise<EnqueueResult>;

Defined in: src/backend/in-memory-backend.ts:98

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
onCommit?EnqueueCommitObserver
Returns ​

Promise<EnqueueResult>

Implementation of ​

JobsBackend.enqueueDetailed

fail() ​
ts
fail(
   jobType,
   jobId,
   reason,
activationId): Promise<void | JobRecord<unknown, unknown>>;

Defined in: src/backend/in-memory-backend.ts:222

Parameters ​
ParameterType
jobTypestring
jobIdstring
reasonstring
activationIdstring
Returns ​

Promise<void | JobRecord<unknown, unknown>>

Implementation of ​

JobsBackend.fail

getJob() ​
ts
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/backend/in-memory-backend.ts:286

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobRecord<unknown, unknown> | null>

Implementation of ​

JobsBackend.getJob

getJobHistory() ​
ts
getJobHistory(jobId): Promise<JobHistoryEntry[]>;

Defined in: src/backend/in-memory-backend.ts:291

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobHistoryEntry[]>

Implementation of ​

JobsBackend.getJobHistory

listDeadLetters() ​
ts
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;

Defined in: src/backend/in-memory-backend.ts:295

Parameters ​
ParameterType
filterDeadLetterFilter
Returns ​

Promise<JobRecord<unknown, unknown>[]>

Implementation of ​

JobsBackend.listDeadLetters

markCancelled() ​
ts
markCancelled(
   jobType,
   jobId,
reason?): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/backend/in-memory-backend.ts:267

Parameters ​
ParameterTypeDefault value
jobTypestringundefined
jobIdstringundefined
reasonstring'cancelled'
Returns ​

Promise<JobRecord<unknown, unknown> | null>

markFailed() ​
ts
markFailed(
   jobType,
   jobId,
   reason,
   activationId,
error?): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/backend/in-memory-backend.ts:232

Parameters ​
ParameterType
jobTypestring
jobIdstring
reasonstring
activationIdstring
error?JobErrorSummary
Returns ​

Promise<JobRecord<unknown, unknown> | null>

moveToActive() ​
ts
moveToActive(
   jobType,
   jobId,
activationId?): Promise<JobEnvelope<unknown> | null>;

Defined in: src/backend/in-memory-backend.ts:187

Parameters ​
ParameterType
jobTypestring
jobIdstring
activationId?string
Returns ​

Promise<JobEnvelope<unknown> | null>

Implementation of ​

JobsBackend.moveToActive

peekWaiting() ​
ts
peekWaiting(jobType): Promise<JobEnvelope<unknown>[]>;

Defined in: src/backend/in-memory-backend.ts:181

Parameters ​
ParameterType
jobTypestring
Returns ​

Promise<JobEnvelope<unknown>[]>

Implementation of ​

JobsBackend.peekWaiting

pendingJobIds() ​
ts
pendingJobIds(): string[];

Defined in: src/backend/in-memory-backend.ts:433

Returns ​

string[]

pruneTerminal() ​
ts
pruneTerminal(options): Promise<number>;

Defined in: src/backend/in-memory-backend.ts:390

Run during a quiescent maintenance window. Young terminal identities are never evicted.

Parameters ​
ParameterType
optionsRetentionCleanupOptions
Returns ​

Promise<number>

replayDeadLetter() ​
ts
replayDeadLetter(jobId, options?): Promise<string>;

Defined in: src/backend/in-memory-backend.ts:310

Parameters ​
ParameterType
jobIdstring
optionsReplayOptions
Returns ​

Promise<string>

Implementation of ​

JobsBackend.replayDeadLetter


JobsError ​

Defined in: src/errors.ts:18

Extends ​

  • Error

Extended by ​

Constructors ​

Constructor ​
ts
new JobsError(code, reason?): JobsError;

Defined in: src/errors.ts:21

Parameters ​
ParameterType
codeJobsErrorCode
reason?string
Returns ​

JobsError

Overrides ​
ts
Error.constructor

Properties ​

cause? ​
ts
optional cause?: unknown;

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

Inherited from ​
ts
Error.cause

code ​
ts
readonly code: JobsErrorCode;

Defined in: src/errors.ts:19

message ​
ts
message: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from ​
ts
Error.message

name ​
ts
name: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from ​
ts
Error.name

stack? ​
ts
optional stack?: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from ​
ts
Error.stack

stackTraceLimit ​
ts
static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:68

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from ​
ts
Error.stackTraceLimit

Methods ​

captureStackTrace() ​
ts
static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:52

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

js
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
Parameters ​
ParameterType
targetObjectobject
constructorOpt?Function
Returns ​

void

Inherited from ​
ts
Error.captureStackTrace

prepareStackTrace() ​
ts
static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:56

Parameters ​
ParameterType
errError
stackTracesCallSite[]
Returns ​

any

See ​

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from ​
ts
Error.prepareStackTrace

JobsModule ​

Defined in: src/jobs.module.ts:391

Constructors ​

Constructor ​
ts
new JobsModule(): JobsModule;
Returns ​

JobsModule

Methods ​

forBullMQ() ​
ts
static forBullMQ(options): DynamicModule;

Defined in: src/jobs.module.ts:493

Parameters ​
ParameterType
optionsBullMQOptions
Returns ​

DynamicModule

forInMemory() ​
ts
static forInMemory(options): DynamicModule;

Defined in: src/jobs.module.ts:392

Parameters ​
ParameterType
optionsInMemoryOptions
Returns ​

DynamicModule


JobsOutboxBridge ​

Defined in: src/outbox/outbox-bridge.module.ts:21

Deprecated ​

Compatibility-only bridge without source identity/lineage. Use createOutboxJobsPublisher for first-party Outbox.

Constructors ​

Constructor ​
ts
new JobsOutboxBridge(opts): JobsOutboxBridge;

Defined in: src/outbox/outbox-bridge.module.ts:22

Parameters ​
ParameterType
optsJobsOutboxBridgeOptions
Returns ​

JobsOutboxBridge


JobsService ​

Defined in: src/jobs.service.ts:37

Constructors ​

Constructor ​
ts
new JobsService(deps): JobsService;

Defined in: src/jobs.service.ts:41

Parameters ​
ParameterType
depsJobsServiceDeps
Returns ​

JobsService

Methods ​

capabilities() ​
ts
capabilities(): BackendCapabilities;

Defined in: src/jobs.service.ts:124

Returns ​

BackendCapabilities

discardDeadLetter() ​
ts
discardDeadLetter(jobId, reason?): Promise<void>;

Defined in: src/jobs.service.ts:248

Parameters ​
ParameterType
jobIdstring
reason?string
Returns ​

Promise<void>

enqueue() ​
ts
enqueue(
   jobType,
   payload,
opts?): Promise<string>;

Defined in: src/jobs.service.ts:48

Parameters ​
ParameterType
jobTypestring
payloadobject
optsEnqueueOptions<object, object>
Returns ​

Promise<string>

enqueueDetailed() ​
ts
enqueueDetailed(
   jobType,
   payload,
opts?): Promise<EnqueueResult>;

Defined in: src/jobs.service.ts:56

Parameters ​
ParameterType
jobTypestring
payloadobject
optsEnqueueOptions<object, object>
Returns ​

Promise<EnqueueResult>

getJob() ​
ts
getJob<TPayload, TContext>(jobId): Promise<JobRecord<TPayload, TContext> | null>;

Defined in: src/jobs.service.ts:137

Type Parameters ​
Type ParameterDefault type
TPayloadunknown
TContextunknown
Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobRecord<TPayload, TContext> | null>

getJobForTenant() ​
ts
getJobForTenant(jobId, expectedTenantId): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/jobs.service.ts:129

Authorization remains the caller's responsibility; mismatches look like missing IDs.

Parameters ​
ParameterType
jobIdstring
expectedTenantIdstring
Returns ​

Promise<JobRecord<unknown, unknown> | null>

getJobHistory() ​
ts
getJobHistory(jobId): Promise<JobHistoryEntry[]>;

Defined in: src/jobs.service.ts:143

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobHistoryEntry[]>

listDeadLetters() ​
ts
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;

Defined in: src/jobs.service.ts:148

Parameters ​
ParameterType
filter?DeadLetterFilter
Returns ​

Promise<JobRecord<unknown, unknown>[]>

replayDeadLetter() ​
ts
replayDeadLetter(jobId, options?): Promise<string>;

Defined in: src/jobs.service.ts:156

Parameters ​
ParameterType
jobIdstring
options?ReplayOptions
Returns ​

Promise<string>

scheduler() ​
ts
scheduler(jobType): Scheduler;

Defined in: src/jobs.service.ts:273

Parameters ​
ParameterType
jobTypestring
Returns ​

Scheduler

setTenantWeight() ​
ts
setTenantWeight(
   jobType,
   tenantId,
   weight): void;

Defined in: src/jobs.service.ts:269

Parameters ​
ParameterType
jobTypestring
tenantIdstring | undefined
weightnumber
Returns ​

void


JobsShutdownError ​

Defined in: src/errors.ts:29

Shutdown did not complete; admission remains closed and records are retained.

Extends ​

Constructors ​

Constructor ​
ts
new JobsShutdownError(
   reason,
   jobIds,
   cause?): JobsShutdownError;

Defined in: src/errors.ts:33

Parameters ​
ParameterType
reason"deadline" | "pending_jobs" | "worker_error"
jobIdsreadonly string[]
cause?unknown
Returns ​

JobsShutdownError

Overrides ​

JobsError.constructor

Properties ​

cause? ​
ts
optional cause?: unknown;

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

Inherited from ​

JobsError.cause

code ​
ts
readonly code: JobsErrorCode;

Defined in: src/errors.ts:19

Inherited from ​

JobsError.code

message ​
ts
message: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from ​

JobsError.message

name ​
ts
name: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from ​

JobsError.name

reason ​
ts
readonly reason: "deadline" | "pending_jobs" | "worker_error";

Defined in: src/errors.ts:34

remainingCount ​
ts
readonly remainingCount: number;

Defined in: src/errors.ts:31

remainingJobIds ​
ts
readonly remainingJobIds: readonly string[];

Defined in: src/errors.ts:30

stack? ​
ts
optional stack?: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from ​

JobsError.stack

stackTraceLimit ​
ts
static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:68

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from ​

JobsError.stackTraceLimit

Methods ​

captureStackTrace() ​
ts
static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:52

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

js
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
Parameters ​
ParameterType
targetObjectobject
constructorOpt?Function
Returns ​

void

Inherited from ​

JobsError.captureStackTrace

prepareStackTrace() ​
ts
static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:56

Parameters ​
ParameterType
errError
stackTracesCallSite[]
Returns ​

any

See ​

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from ​

JobsError.prepareStackTrace


Scheduler ​

Defined in: src/scheduler.ts:41

Constructors ​

Constructor ​
ts
new Scheduler(opts): Scheduler;

Defined in: src/scheduler.ts:52

Parameters ​
ParameterType
optsSchedulerOptions
Returns ​

Scheduler

Methods ​

hasReadyJobs() ​
ts
hasReadyJobs(): boolean;

Defined in: src/scheduler.ts:117

Returns ​

boolean

onAck() ​
ts
onAck(jobId): void;

Defined in: src/scheduler.ts:106

Parameters ​
ParameterType
jobIdstring
Returns ​

void

onEnqueue() ​
ts
onEnqueue(
   jobId,
   tenantId,
   timing?): void;

Defined in: src/scheduler.ts:84

Parameters ​
ParameterType
jobIdstring
tenantIdstring | undefined
timing?SchedulerEnqueueTiming
Returns ​

void

pickNext() ​
ts
pickNext(): PickedJob | null;

Defined in: src/scheduler.ts:127

Returns ​

PickedJob | null

setWeight() ​
ts
setWeight(tenantId, weight): void;

Defined in: src/scheduler.ts:71

Parameters ​
ParameterType
tenantIdstring | undefined
weightnumber
Returns ​

void

snapshot() ​
ts
snapshot(): {
  inflight: number;
  starvationTokens: number;
  tenantId: string | undefined;
  waiting: number;
  weight: number;
}[];

Defined in: src/scheduler.ts:160

Returns ​

{ inflight: number; starvationTokens: number; tenantId: string | undefined; waiting: number; weight: number; }[]

Interfaces ​

BackendCapabilities ​

Defined in: src/lifecycle.ts:48

Properties ​

activationFencing? ​
ts
optional activationFencing?: boolean;

Defined in: src/lifecycle.ts:62

Required by FairWorker: completion is fenced by an opaque activation token.

backoff ​
ts
backoff: boolean;

Defined in: src/lifecycle.ts:53

deadLetter ​
ts
deadLetter: boolean;

Defined in: src/lifecycle.ts:58

delayed ​
ts
delayed: boolean;

Defined in: src/lifecycle.ts:51

distributed ​
ts
distributed: boolean;

Defined in: src/lifecycle.ts:50

durable ​
ts
durable: boolean;

Defined in: src/lifecycle.ts:49

fairness ​
ts
fairness: "none" | "local-tenant";

Defined in: src/lifecycle.ts:59

history ​
ts
history: boolean;

Defined in: src/lifecycle.ts:56

idempotency ​
ts
idempotency: boolean;

Defined in: src/lifecycle.ts:57

manualDrain ​
ts
manualDrain: boolean;

Defined in: src/lifecycle.ts:60

retries ​
ts
retries: boolean;

Defined in: src/lifecycle.ts:52

statusQuery ​
ts
statusQuery: boolean;

Defined in: src/lifecycle.ts:55

timeout ​
ts
timeout: boolean;

Defined in: src/lifecycle.ts:54


BullMQBackendOptions ​

Defined in: src/backend/bullmq-backend.ts:95

Properties ​

connection ​
ts
connection: object;

Defined in: src/backend/bullmq-backend.ts:99

BullMQ/ioredis connection object. Kept structural so BullMQ remains an optional peer.

namespace? ​
ts
optional namespace?: string;

Defined in: src/backend/bullmq-backend.ts:97

retention? ​
ts
optional retention?: RetentionOptions;

Defined in: src/backend/bullmq-backend.ts:96

workerConcurrency? ​
ts
optional workerConcurrency?: number;

Defined in: src/backend/bullmq-backend.ts:100


BullMQConsumerOptions ​

Defined in: src/backend/bullmq-backend.ts:109

Properties ​

contextRunner ​
ts
contextRunner: (ctx, fn) => Promise<unknown>;

Defined in: src/backend/bullmq-backend.ts:111

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

events? ​
ts
optional events?: JobEventsOptions;

Defined in: src/backend/bullmq-backend.ts:115

onFail? ​
ts
optional onFail?: (e, err) => void;

Defined in: src/backend/bullmq-backend.ts:114

Parameters ​
ParameterType
eJobEvent
errError
Returns ​

void

onFinish? ​
ts
optional onFinish?: (e) => void;

Defined in: src/backend/bullmq-backend.ts:113

Parameters ​
ParameterType
eJobEvent
Returns ​

void

onStart? ​
ts
optional onStart?: (e) => void;

Defined in: src/backend/bullmq-backend.ts:112

Parameters ​
ParameterType
eJobEvent
Returns ​

void

registry ​
ts
registry: HandlerRegistry;

Defined in: src/backend/bullmq-backend.ts:110


BullMQOptions ​

Defined in: src/jobs.module.ts:268

Properties ​

backend ​
ts
backend: BullMQBackend;

Defined in: src/jobs.module.ts:273

contextExtractor? ​
ts
optional contextExtractor?: () => JobContext;

Defined in: src/jobs.module.ts:279

Returns ​

JobContext

contextRunner? ​
ts
optional contextRunner?: (ctx, fn) => Promise<unknown>;

Defined in: src/jobs.module.ts:280

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

dynamicRegistration? ​
ts
optional dynamicRegistration?: boolean;

Defined in: src/jobs.module.ts:272

Opt out of bootstrap handler checks when registration is intentionally deferred.

events? ​
ts
optional events?: JobEventsOptions;

Defined in: src/jobs.module.ts:278

global? ​
ts
optional global?: boolean;

Defined in: src/jobs.module.ts:276

jobs? ​
ts
optional jobs?: JobDefinitions;

Defined in: src/jobs.module.ts:275

jobTypes ​
ts
jobTypes: string[];

Defined in: src/jobs.module.ts:274

onJobFail? ​
ts
optional onJobFail?: (e, err) => void;

Defined in: src/jobs.module.ts:283

Parameters ​
ParameterType
eJobEvent
errError
Returns ​

void

onJobFinish? ​
ts
optional onJobFinish?: (e) => void;

Defined in: src/jobs.module.ts:282

Parameters ​
ParameterType
eJobEvent
Returns ​

void

onJobStart? ​
ts
optional onJobStart?: (e) => void;

Defined in: src/jobs.module.ts:281

Parameters ​
ParameterType
eJobEvent
Returns ​

void

role? ​
ts
optional role?: "producer" | "worker" | "both";

Defined in: src/jobs.module.ts:270

Default both. Worker role rejects JobsService enqueue. Producer never consumes.

strictCapabilities? ​
ts
optional strictCapabilities?: boolean;

Defined in: src/jobs.module.ts:277


BullMQRawQueue ​

Defined in: src/backend/bullmq-backend.ts:103

Methods ​

add() ​
ts
add(
   name,
   data,
   options?): Promise<{
  id?: string | number;
}>;

Defined in: src/backend/bullmq-backend.ts:104

Parameters ​
ParameterType
namestring
dataunknown
options?unknown
Returns ​

Promise<{ id?: string | number; }>

close() ​
ts
close(): Promise<void>;

Defined in: src/backend/bullmq-backend.ts:106

Returns ​

Promise<void>

getJob() ​
ts
getJob(jobId): Promise<unknown>;

Defined in: src/backend/bullmq-backend.ts:105

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<unknown>


DeadLetterFilter ​

Defined in: src/lifecycle.ts:99

Properties ​

tenantId? ​
ts
optional tenantId?: string;

Defined in: src/lifecycle.ts:101

type? ​
ts
optional type?: string;

Defined in: src/lifecycle.ts:100


DedupeOptions ​

Defined in: src/types.ts:45

Properties ​

key ​
ts
key: string;

Defined in: src/types.ts:46

mode? ​
ts
optional mode?: "while_active" | "until_completed";

Defined in: src/types.ts:49

scope? ​
ts
optional scope?: "global" | "tenant";

Defined in: src/types.ts:47

ttlMs? ​
ts
optional ttlMs?: number;

Defined in: src/types.ts:48


EnqueueOptions ​

Defined in: src/types.ts:52

Type Parameters ​

Type ParameterDefault type
TContextJobContext
TMetadata extends objectRecord<string, unknown>

Properties ​

attempts? ​
ts
optional attempts?: number;

Defined in: src/types.ts:61

backoff? ​
ts
optional backoff?: BackoffPolicy;

Defined in: src/types.ts:62

context? ​
ts
optional context?: TContext;

Defined in: src/types.ts:57

dedupe? ​
ts
optional dedupe?: DedupeOptions;

Defined in: src/types.ts:65

delay? ​
ts
optional delay?: number;

Defined in: src/types.ts:58

delayMs? ​
ts
optional delayMs?: number;

Defined in: src/types.ts:59

idempotencyKey? ​
ts
optional idempotencyKey?: string;

Defined in: src/types.ts:64

jobId? ​
ts
optional jobId?: string;

Defined in: src/types.ts:56

metadata? ​
ts
optional metadata?: TMetadata;

Defined in: src/types.ts:66

scheduledFor? ​
ts
optional scheduledFor?: Date;

Defined in: src/types.ts:60

timeoutMs? ​
ts
optional timeoutMs?: number;

Defined in: src/types.ts:63


EnqueueResult ​

Defined in: src/lifecycle.ts:93

Properties ​

existingJobId? ​
ts
optional existingJobId?: string;

Defined in: src/lifecycle.ts:96

jobId ​
ts
jobId: string;

Defined in: src/lifecycle.ts:95

status ​
ts
status: "created" | "deduped";

Defined in: src/lifecycle.ts:94


FairWorkerOptions ​

Defined in: src/fair-worker.ts:17

Properties ​

backend ​
ts
backend: JobsBackend;

Defined in: src/fair-worker.ts:19

contextRunner ​
ts
contextRunner: (ctx, fn) => Promise<unknown>;

Defined in: src/fair-worker.ts:22

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

events? ​
ts
optional events?: JobEventsOptions;

Defined in: src/fair-worker.ts:26

jobType ​
ts
jobType: string;

Defined in: src/fair-worker.ts:18

onFail? ​
ts
optional onFail?: (e, err) => void;

Defined in: src/fair-worker.ts:25

Parameters ​
ParameterType
eJobEvent
errError
Returns ​

void

onFinish? ​
ts
optional onFinish?: (e) => void;

Defined in: src/fair-worker.ts:24

Parameters ​
ParameterType
eJobEvent
Returns ​

void

onStart? ​
ts
optional onStart?: (e) => void;

Defined in: src/fair-worker.ts:23

Parameters ​
ParameterType
eJobEvent
Returns ​

void

registry ​
ts
registry: HandlerRegistry;

Defined in: src/fair-worker.ts:21

scheduler ​
ts
scheduler: Scheduler;

Defined in: src/fair-worker.ts:20


FakeJobsOptions ​

Defined in: src/fake-jobs.service.ts:12

Extends ​

Properties ​

budget? ​
ts
optional budget?: ExecutionBudget;

Defined in: src/scheduler.ts:11

Inherited from ​

SchedulerOptions.budget

contextExtractor? ​
ts
optional contextExtractor?: () => JobContext;

Defined in: src/fake-jobs.service.ts:16

Returns ​

JobContext

contextRunner? ​
ts
optional contextRunner?: (ctx, fn) => Promise<unknown>;

Defined in: src/fake-jobs.service.ts:17

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

defaultWeight? ​
ts
optional defaultWeight?: number;

Defined in: src/scheduler.ts:6

Inherited from ​

SchedulerOptions.defaultWeight

jobs? ​
ts
optional jobs?: JobDefinitions;

Defined in: src/fake-jobs.service.ts:14

jobTypes ​
ts
jobTypes: string[];

Defined in: src/fake-jobs.service.ts:13

minSharePct? ​
ts
optional minSharePct?: number;

Defined in: src/scheduler.ts:7

Inherited from ​

SchedulerOptions.minSharePct

now? ​
ts
optional now?: string | number | Date;

Defined in: src/fake-jobs.service.ts:15

tenantCap? ​
ts
optional tenantCap?: number;

Defined in: src/scheduler.ts:8

Inherited from ​

SchedulerOptions.tenantCap

typeCap? ​
ts
optional typeCap?: number;

Defined in: src/scheduler.ts:10

Inherited from ​

SchedulerOptions.typeCap


InMemoryBackendOptions ​

Defined in: src/backend/in-memory-backend.ts:52

Properties ​

deadLetter? ​
ts
optional deadLetter?: {
  enabled?: boolean;
};

Defined in: src/backend/in-memory-backend.ts:55

enabled? ​
ts
optional enabled?: boolean;

now? ​
ts
optional now?: () => Date;

Defined in: src/backend/in-memory-backend.ts:54

Returns ​

Date

retention? ​
ts
optional retention?: RetentionOptions;

Defined in: src/backend/in-memory-backend.ts:53


InMemoryOptions ​

Defined in: src/jobs.module.ts:247

Properties ​

concurrency? ​
ts
optional concurrency?: {
  poolSize?: number;
  tenantCap?: number;
  typeCap?: number;
};

Defined in: src/jobs.module.ts:259

Local module-wide invocation limits. Defaults: pool 10, tenant 10, type = pool.

poolSize? ​
ts
optional poolSize?: number;
tenantCap? ​
ts
optional tenantCap?: number;
typeCap? ​
ts
optional typeCap?: number;

contextExtractor? ​
ts
optional contextExtractor?: () => JobContext;

Defined in: src/jobs.module.ts:261

Returns ​

JobContext

contextRunner? ​
ts
optional contextRunner?: (ctx, fn) => Promise<unknown>;

Defined in: src/jobs.module.ts:262

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

events? ​
ts
optional events?: JobEventsOptions;

Defined in: src/jobs.module.ts:257

fairness? ​
ts
optional fairness?: {
  defaultWeight?: number;
  minSharePct?: number;
};

Defined in: src/jobs.module.ts:260

defaultWeight? ​
ts
optional defaultWeight?: number;
minSharePct? ​
ts
optional minSharePct?: number;

global? ​
ts
optional global?: boolean;

Defined in: src/jobs.module.ts:255

jobs? ​
ts
optional jobs?: JobDefinitions;

Defined in: src/jobs.module.ts:254

jobTypes ​
ts
jobTypes: string[];

Defined in: src/jobs.module.ts:253

onJobFail? ​
ts
optional onJobFail?: (e, err) => void;

Defined in: src/jobs.module.ts:265

Parameters ​
ParameterType
eJobEvent
errError
Returns ​

void

onJobFinish? ​
ts
optional onJobFinish?: (e) => void;

Defined in: src/jobs.module.ts:264

Parameters ​
ParameterType
eJobEvent
Returns ​

void

onJobStart? ​
ts
optional onJobStart?: (e) => void;

Defined in: src/jobs.module.ts:263

Parameters ​
ParameterType
eJobEvent
Returns ​

void

onWorkerError? ​
ts
optional onWorkerError?: (error) => void;

Defined in: src/jobs.module.ts:250

Best-effort observer. Backend operation retries use a 50ms backoff.

Parameters ​
ParameterType
errorunknown
Returns ​

void

retention? ​
ts
optional retention?: RetentionOptions;

Defined in: src/jobs.module.ts:248

shutdown? ​
ts
optional shutdown?: {
  timeoutMs?: number;
};

Defined in: src/jobs.module.ts:252

Graceful drain deadline (default 30 seconds). Timeout rejects; draining continues.

timeoutMs? ​
ts
optional timeoutMs?: number;

strictCapabilities? ​
ts
optional strictCapabilities?: boolean;

Defined in: src/jobs.module.ts:256


JobBuilder ​

Defined in: src/contracts.ts:29

Type Parameters ​

Type Parameter
TPayload
TContext
TResult

Properties ​

__context? ​
ts
readonly optional __context?: TContext;

Defined in: src/contracts.ts:31

__payload? ​
ts
readonly optional __payload?: TPayload;

Defined in: src/contracts.ts:30

__result? ​
ts
readonly optional __result?: TResult;

Defined in: src/contracts.ts:32

Methods ​

context() ​
ts
context<TNextContext>(...invalid): JobBuilder<TPayload, TNextContext, TResult>;

Defined in: src/contracts.ts:33

Type Parameters ​
Type Parameter
TNextContext extends object
Parameters ​
ParameterType
...invalidPlainObjectArguments<TNextContext>
Returns ​

JobBuilder<TPayload, TNextContext, TResult>

defaults() ​
ts
defaults(defaults): JobDefinition<TPayload, TContext, TResult>;

Defined in: src/contracts.ts:37

Parameters ​
ParameterType
defaultsJobDefaults
Returns ​

JobDefinition<TPayload, TContext, TResult>

result() ​
ts
result<TNextResult>(): JobBuilder<TPayload, TContext, TNextResult>;

Defined in: src/contracts.ts:36

Type Parameters ​
Type Parameter
TNextResult
Returns ​

JobBuilder<TPayload, TContext, TNextResult>


JobContext ​

Defined in: src/types.ts:3

Indexable ​

ts
[key: string]: unknown

Properties ​

signal? ​
ts
optional signal?: AbortSignal;

Defined in: src/types.ts:5

tenantId? ​
ts
optional tenantId?: string;

Defined in: src/types.ts:4


JobDefaults ​

Defined in: src/contracts.ts:40

Properties ​

attempts? ​
ts
optional attempts?: number;

Defined in: src/contracts.ts:41

backoff? ​
ts
optional backoff?: BackoffPolicy;

Defined in: src/contracts.ts:43

timeoutMs? ​
ts
optional timeoutMs?: number;

Defined in: src/contracts.ts:42


JobDefinition ​

Defined in: src/contracts.ts:22

Type Parameters ​

Type Parameter
TPayload
TContext
TResult

Properties ​

__context? ​
ts
readonly optional __context?: TContext;

Defined in: src/contracts.ts:24

__payload? ​
ts
readonly optional __payload?: TPayload;

Defined in: src/contracts.ts:23

__result? ​
ts
readonly optional __result?: TResult;

Defined in: src/contracts.ts:25

defaults ​
ts
readonly defaults: JobDefaults;

Defined in: src/contracts.ts:26


JobEnvelope ​

Defined in: src/types.ts:9

Type Parameters ​

Type ParameterDefault type
Tunknown

Properties ​

activationId? ​
ts
optional activationId?: string;

Defined in: src/types.ts:17

Opaque ownership token returned only by moveToActive.

attempts ​
ts
attempts: number;

Defined in: src/types.ts:15

backoff? ​
ts
optional backoff?: BackoffPolicy;

Defined in: src/types.ts:21

context ​
ts
context: JobContext;

Defined in: src/types.ts:13

dedupeKey? ​
ts
optional dedupeKey?: string;

Defined in: src/types.ts:24

enqueuedAt ​
ts
enqueuedAt: Date;

Defined in: src/types.ts:14

id ​
ts
id: string;

Defined in: src/types.ts:10

idempotencyKey? ​
ts
optional idempotencyKey?: string;

Defined in: src/types.ts:23

jobType ​
ts
jobType: string;

Defined in: src/types.ts:11

maxAttempts ​
ts
maxAttempts: number;

Defined in: src/types.ts:18

metadata ​
ts
metadata: Record<string, unknown>;

Defined in: src/types.ts:22

payload ​
ts
payload: T;

Defined in: src/types.ts:12

scheduledFor? ​
ts
optional scheduledFor?: Date;

Defined in: src/types.ts:19

timeoutMs? ​
ts
optional timeoutMs?: number;

Defined in: src/types.ts:20


JobErrorSummary ​

Defined in: src/lifecycle.ts:11

Properties ​

code? ​
ts
optional code?: string;

Defined in: src/lifecycle.ts:14

message ​
ts
message: string;

Defined in: src/lifecycle.ts:13

name? ​
ts
optional name?: string;

Defined in: src/lifecycle.ts:12

reason? ​
ts
optional reason?: string;

Defined in: src/lifecycle.ts:15


JobEvent ​

Defined in: src/types.ts:35

Properties ​

attempt? ​
ts
optional attempt?: number;

Defined in: src/types.ts:39

durationMs? ​
ts
optional durationMs?: number;

Defined in: src/types.ts:42

finishedAt? ​
ts
optional finishedAt?: Date;

Defined in: src/types.ts:41

jobId ​
ts
jobId: string;

Defined in: src/types.ts:36

jobType ​
ts
jobType: string;

Defined in: src/types.ts:37

startedAt? ​
ts
optional startedAt?: Date;

Defined in: src/types.ts:40

tenantId ​
ts
tenantId: string | undefined;

Defined in: src/types.ts:38


JobEventsOptions ​

Defined in: src/lifecycle.ts:89

Properties ​

onEvent? ​
ts
optional onEvent?: (event) => void;

Defined in: src/lifecycle.ts:90

Parameters ​
ParameterType
eventJobLifecycleEvent
Returns ​

void


JobHistoryEntry ​

Defined in: src/lifecycle.ts:38

Properties ​

at ​
ts
at: Date;

Defined in: src/lifecycle.ts:42

attempt ​
ts
attempt: number;

Defined in: src/lifecycle.ts:41

error? ​
ts
optional error?: JobErrorSummary;

Defined in: src/lifecycle.ts:44

jobId ​
ts
jobId: string;

Defined in: src/lifecycle.ts:39

metadata? ​
ts
optional metadata?: Record<string, unknown>;

Defined in: src/lifecycle.ts:45

reason? ​
ts
optional reason?: string;

Defined in: src/lifecycle.ts:43

status ​
ts
status: JobStatus;

Defined in: src/lifecycle.ts:40


JobInstance ​

Defined in: src/contracts.ts:70

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions
TType extends JobType<TJobs>

Properties ​

attempt ​
ts
attempt: number;

Defined in: src/contracts.ts:75

context ​
ts
context: JobContextOf<TJobs, TType>;

Defined in: src/contracts.ts:74

id ​
ts
id: string;

Defined in: src/contracts.ts:71

maxAttempts ​
ts
maxAttempts: number;

Defined in: src/contracts.ts:76

metadata ​
ts
metadata: Record<string, unknown>;

Defined in: src/contracts.ts:78

payload ​
ts
payload: JobPayload<TJobs, TType>;

Defined in: src/contracts.ts:73

signal ​
ts
signal: AbortSignal;

Defined in: src/contracts.ts:77

type ​
ts
type: TType;

Defined in: src/contracts.ts:72


JobLifecycleEvent ​

Defined in: src/lifecycle.ts:77

Properties ​

at ​
ts
at: Date;

Defined in: src/lifecycle.ts:83

attempt ​
ts
attempt: number;

Defined in: src/lifecycle.ts:82

durationMs? ​
ts
optional durationMs?: number;

Defined in: src/lifecycle.ts:84

error? ​
ts
optional error?: JobErrorSummary;

Defined in: src/lifecycle.ts:85

jobId ​
ts
jobId: string;

Defined in: src/lifecycle.ts:79

jobType ​
ts
jobType: string;

Defined in: src/lifecycle.ts:80

metadata? ​
ts
optional metadata?: Record<string, unknown>;

Defined in: src/lifecycle.ts:86

tenantId? ​
ts
optional tenantId?: string;

Defined in: src/lifecycle.ts:81

type ​
ts
type: JobLifecycleEventType;

Defined in: src/lifecycle.ts:78


JobRecord ​

Defined in: src/lifecycle.ts:18

Type Parameters ​

Type ParameterDefault type
TPayloadunknown
TContextunknown

Properties ​

attempt ​
ts
attempt: number;

Defined in: src/lifecycle.ts:24

completedAt? ​
ts
optional completedAt?: Date;

Defined in: src/lifecycle.ts:29

context? ​
ts
optional context?: TContext;

Defined in: src/lifecycle.ts:23

dedupeKey? ​
ts
optional dedupeKey?: string;

Defined in: src/lifecycle.ts:34

enqueuedAt ​
ts
enqueuedAt: Date;

Defined in: src/lifecycle.ts:26

error? ​
ts
optional error?: JobErrorSummary;

Defined in: src/lifecycle.ts:32

failedAt? ​
ts
optional failedAt?: Date;

Defined in: src/lifecycle.ts:30

id ​
ts
id: string;

Defined in: src/lifecycle.ts:19

idempotencyKey? ​
ts
optional idempotencyKey?: string;

Defined in: src/lifecycle.ts:33

maxAttempts ​
ts
maxAttempts: number;

Defined in: src/lifecycle.ts:25

metadata ​
ts
metadata: Record<string, unknown>;

Defined in: src/lifecycle.ts:35

nextAttemptAt? ​
ts
optional nextAttemptAt?: Date;

Defined in: src/lifecycle.ts:31

payload? ​
ts
optional payload?: TPayload;

Defined in: src/lifecycle.ts:22

scheduledFor? ​
ts
optional scheduledFor?: Date;

Defined in: src/lifecycle.ts:27

startedAt? ​
ts
optional startedAt?: Date;

Defined in: src/lifecycle.ts:28

status ​
ts
status: JobStatus;

Defined in: src/lifecycle.ts:21

type ​
ts
type: string;

Defined in: src/lifecycle.ts:20


JobsBackend ​

Defined in: src/backend/jobs-backend.interface.ts:13

Methods ​

ack() ​
ts
ack(
   jobType,
   jobId,
activationId): Promise<void | JobRecord<unknown, unknown>>;

Defined in: src/backend/jobs-backend.interface.ts:28

Parameters ​
ParameterType
jobTypestring
jobIdstring
activationIdstring
Returns ​

Promise<void | JobRecord<unknown, unknown>>

capabilities() ​
ts
capabilities(): BackendCapabilities;

Defined in: src/backend/jobs-backend.interface.ts:14

Returns ​

BackendCapabilities

close() ​
ts
close(): Promise<void>;

Defined in: src/backend/jobs-backend.interface.ts:40

Returns ​

Promise<void>

discardDeadLetter()? ​
ts
optional discardDeadLetter(jobId, reason?): Promise<void | JobRecord<unknown, unknown>>;

Defined in: src/backend/jobs-backend.interface.ts:39

Parameters ​
ParameterType
jobIdstring
reason?string
Returns ​

Promise<void | JobRecord<unknown, unknown>>

enqueue() ​
ts
enqueue(
   jobType,
   envelope,
opts): Promise<string>;

Defined in: src/backend/jobs-backend.interface.ts:15

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
Returns ​

Promise<string>

enqueueDetailed()? ​
ts
optional enqueueDetailed(
   jobType,
   envelope,
   opts,
onCommit?): Promise<EnqueueResult>;

Defined in: src/backend/jobs-backend.interface.ts:20

Parameters ​
ParameterType
jobTypestring
envelopeRecord<string, unknown>
optsEnqueueOptions
onCommit?EnqueueCommitObserver
Returns ​

Promise<EnqueueResult>

fail() ​
ts
fail(
   jobType,
   jobId,
   reason,
activationId): Promise<void | JobRecord<unknown, unknown>>;

Defined in: src/backend/jobs-backend.interface.ts:29

Parameters ​
ParameterType
jobTypestring
jobIdstring
reasonstring
activationIdstring
Returns ​

Promise<void | JobRecord<unknown, unknown>>

getJob() ​
ts
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;

Defined in: src/backend/jobs-backend.interface.ts:35

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobRecord<unknown, unknown> | null>

getJobHistory() ​
ts
getJobHistory(jobId): Promise<JobHistoryEntry[]>;

Defined in: src/backend/jobs-backend.interface.ts:36

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobHistoryEntry[]>

listDeadLetters()? ​
ts
optional listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;

Defined in: src/backend/jobs-backend.interface.ts:37

Parameters ​
ParameterType
filter?DeadLetterFilter
Returns ​

Promise<JobRecord<unknown, unknown>[]>

moveToActive() ​
ts
moveToActive(
   jobType,
   jobId,
activationId?): Promise<JobEnvelope<unknown> | null>;

Defined in: src/backend/jobs-backend.interface.ts:27

Parameters ​
ParameterType
jobTypestring
jobIdstring
activationId?string
Returns ​

Promise<JobEnvelope<unknown> | null>

peekWaiting() ​
ts
peekWaiting(jobType): Promise<JobEnvelope<unknown>[]>;

Defined in: src/backend/jobs-backend.interface.ts:26

Parameters ​
ParameterType
jobTypestring
Returns ​

Promise<JobEnvelope<unknown>[]>

replayDeadLetter()? ​
ts
optional replayDeadLetter(jobId, options?): Promise<string>;

Defined in: src/backend/jobs-backend.interface.ts:38

Parameters ​
ParameterType
jobIdstring
options?ReplayOptions
Returns ​

Promise<string>


JobsOutboxBridgeOptions ​

Defined in: src/outbox/outbox-bridge.module.ts:13

Properties ​

jobs ​
ts
jobs: JobsService;

Defined in: src/outbox/outbox-bridge.module.ts:14

map ​
ts
map: Record<string, string>;

Defined in: src/outbox/outbox-bridge.module.ts:16

source ​
ts
source: OutboxSource;

Defined in: src/outbox/outbox-bridge.module.ts:15

tenantFrom? ​
ts
optional tenantFrom?: (event) => string;

Defined in: src/outbox/outbox-bridge.module.ts:17

Parameters ​
ParameterType
eventOutboxEvent
Returns ​

string


JobsServiceDeps ​

Defined in: src/jobs.service.ts:25

Properties ​

backend ​
ts
backend: JobsBackend;

Defined in: src/jobs.service.ts:27

contextExtractor? ​
ts
optional contextExtractor?: () => JobContext;

Defined in: src/jobs.service.ts:31

Returns ​

JobContext

contextRunner? ​
ts
optional contextRunner?: (ctx, fn) => Promise<unknown>;

Defined in: src/jobs.service.ts:32

Parameters ​
ParameterType
ctxJobContext
fn() => Promise<unknown>
Returns ​

Promise<unknown>

events? ​
ts
optional events?: JobEventsOptions;

Defined in: src/jobs.service.ts:33

jobs? ​
ts
optional jobs?: JobDefinitions;

Defined in: src/jobs.service.ts:34

jobTypes? ​
ts
optional jobTypes?: Iterable<string, any, any>;

Defined in: src/jobs.service.ts:30

producerEnabled? ​
ts
optional producerEnabled?: boolean;

Defined in: src/jobs.service.ts:26

registry ​
ts
registry: HandlerRegistry;

Defined in: src/jobs.service.ts:28

schedulers? ​
ts
optional schedulers?: Map<string, Scheduler>;

Defined in: src/jobs.service.ts:29


OutboxEvent ​

Defined in: src/outbox/outbox-bridge.module.ts:3

Properties ​

payload ​
ts
payload: Record<string, unknown>;

Defined in: src/outbox/outbox-bridge.module.ts:5

tenantId ​
ts
tenantId: string;

Defined in: src/outbox/outbox-bridge.module.ts:6

type ​
ts
type: string;

Defined in: src/outbox/outbox-bridge.module.ts:4


OutboxJobsPublisherOptions ​

Defined in: src/outbox/outbox-jobs-publisher.ts:40

Properties ​

map ​
ts
map: Record<string, string | OutboxJobTarget>;

Defined in: src/outbox/outbox-jobs-publisher.ts:41

unmapped? ​
ts
optional unmapped?: "error" | "ignore";

Defined in: src/outbox/outbox-jobs-publisher.ts:42


OutboxJobTarget ​

Defined in: src/outbox/outbox-jobs-publisher.ts:33

Properties ​

job ​
ts
job: string;

Defined in: src/outbox/outbox-jobs-publisher.ts:34

options? ​
ts
optional options?:
  | EnqueueOptions<JobContext, Record<string, unknown>>
  | ((record) => EnqueueOptions);

Defined in: src/outbox/outbox-jobs-publisher.ts:36

payload? ​
ts
optional payload?: (record) => Record<string, unknown>;

Defined in: src/outbox/outbox-jobs-publisher.ts:35

Parameters ​
ParameterType
recordOutboxRecord
Returns ​

Record<string, unknown>

tenant? ​
ts
optional tenant?: "required" | "optional" | ((record) => string | undefined);

Defined in: src/outbox/outbox-jobs-publisher.ts:37


OutboxPublisher ​

Defined in: src/outbox/outbox-jobs-publisher.ts:29

Methods ​

publish() ​
ts
publish(record): Promise<void>;

Defined in: src/outbox/outbox-jobs-publisher.ts:30

Parameters ​
ParameterType
recordOutboxRecord
Returns ​

Promise<void>


OutboxRecord ​

Defined in: src/outbox/outbox-jobs-publisher.ts:7

Properties ​

aggregateId? ​
ts
optional aggregateId?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:20

aggregateType? ​
ts
optional aggregateType?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:19

causationId? ​
ts
optional causationId?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:24

correlationId? ​
ts
optional correlationId?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:23

createdAt? ​
ts
optional createdAt?: Date;

Defined in: src/outbox/outbox-jobs-publisher.ts:12

eventType ​
ts
eventType: string;

Defined in: src/outbox/outbox-jobs-publisher.ts:9

headers? ​
ts
optional headers?: Record<string, unknown> | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:25

id ​
ts
id: string;

Defined in: src/outbox/outbox-jobs-publisher.ts:8

idempotencyKey? ​
ts
optional idempotencyKey?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:22

lastError? ​
ts
optional lastError?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:17

maxRetries? ​
ts
optional maxRetries?: number;

Defined in: src/outbox/outbox-jobs-publisher.ts:16

occurredAt? ​
ts
optional occurredAt?: string | Date | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:26

partitionKey? ​
ts
optional partitionKey?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:21

payload ​
ts
payload: Record<string, unknown>;

Defined in: src/outbox/outbox-jobs-publisher.ts:10

processedAt? ​
ts
optional processedAt?: Date | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:14

retryCount? ​
ts
optional retryCount?: number;

Defined in: src/outbox/outbox-jobs-publisher.ts:15

status? ​
ts
optional status?: "PENDING" | "PROCESSING" | "SENT" | "FAILED";

Defined in: src/outbox/outbox-jobs-publisher.ts:11

tenantId? ​
ts
optional tenantId?: string | null;

Defined in: src/outbox/outbox-jobs-publisher.ts:18

updatedAt? ​
ts
optional updatedAt?: Date;

Defined in: src/outbox/outbox-jobs-publisher.ts:13


OutboxSource ​

Defined in: src/outbox/outbox-bridge.module.ts:9

Methods ​

onEvent() ​
ts
onEvent(cb): void;

Defined in: src/outbox/outbox-bridge.module.ts:10

Parameters ​
ParameterType
cb(event) => Promise<void>
Returns ​

void


PickedJob ​

Defined in: src/scheduler.ts:36

Properties ​

jobId ​
ts
jobId: string;

Defined in: src/scheduler.ts:37

tenantId ​
ts
tenantId: string | undefined;

Defined in: src/scheduler.ts:38


ReplayOptions ​

Defined in: src/lifecycle.ts:104

Properties ​

metadata? ​
ts
optional metadata?: Record<string, unknown>;

Defined in: src/lifecycle.ts:107

preserveOriginalId? ​
ts
optional preserveOriginalId?: boolean;

Defined in: src/lifecycle.ts:105

resetAttempts? ​
ts
optional resetAttempts?: boolean;

Defined in: src/lifecycle.ts:106


RetentionCleanupOptions ​

Defined in: src/retention.ts:12

Properties ​

producersStopped ​
ts
producersStopped: true;

Defined in: src/retention.ts:14

All producers and administrative retry/replay writers must be stopped first.


RetentionOptions ​

Defined in: src/retention.ts:4

Opt-in, operator-driven cleanup. The age is a safety floor even under count pressure.

Properties ​

batchSize? ​
ts
optional batchSize?: number;

Defined in: src/retention.ts:7

Maximum records removed per queue and call (default 1000).

recoveryHorizonMs ​
ts
recoveryHorizonMs: number;

Defined in: src/retention.ts:9

Longest Outbox retry + manual recovery horizon for this deployment.

terminalAgeMs ​
ts
terminalAgeMs: number;

Defined in: src/retention.ts:5


RetryPolicy ​

Defined in: src/retry.ts:6

Properties ​

attempts? ​
ts
optional attempts?: number;

Defined in: src/retry.ts:7

backoff? ​
ts
optional backoff?: BackoffPolicy;

Defined in: src/retry.ts:8


SchedulerEnqueueTiming ​

Defined in: src/scheduler.ts:14

Properties ​

delayMs? ​
ts
optional delayMs?: number;

Defined in: src/scheduler.ts:16

scheduledFor? ​
ts
optional scheduledFor?: Date;

Defined in: src/scheduler.ts:15


SchedulerOptions ​

Defined in: src/scheduler.ts:5

Properties ​

budget? ​
ts
optional budget?: ExecutionBudget;

Defined in: src/scheduler.ts:11

clock? ​
ts
optional clock?: () => Date;

Defined in: src/scheduler.ts:9

Returns ​

Date

defaultWeight ​
ts
defaultWeight: number;

Defined in: src/scheduler.ts:6

minSharePct ​
ts
minSharePct: number;

Defined in: src/scheduler.ts:7

tenantCap ​
ts
tenantCap: number;

Defined in: src/scheduler.ts:8

typeCap? ​
ts
optional typeCap?: number;

Defined in: src/scheduler.ts:10


ShardSnapshot ​

Defined in: src/types.ts:27

Properties ​

inflight ​
ts
inflight: number;

Defined in: src/types.ts:30

starvationTokens ​
ts
starvationTokens: number;

Defined in: src/types.ts:32

tenantId ​
ts
tenantId: string | undefined;

Defined in: src/types.ts:28

waiting ​
ts
waiting: number;

Defined in: src/types.ts:29

weight ​
ts
weight: number;

Defined in: src/types.ts:31


TypedJobHandler ​

Defined in: src/contracts.ts:81

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions
TType extends JobType<TJobs>

Methods ​

handle() ​
ts
handle(payload, context): Promise<JobResult<TJobs, TType>>;

Defined in: src/contracts.ts:82

Parameters ​
ParameterType
payloadJobPayload<TJobs, TType>
contextJobContextOf<TJobs, TType>
Returns ​

Promise<JobResult<TJobs, TType>>


TypedJobsService ​

Defined in: src/contracts.ts:88

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions

Methods ​

capabilities() ​
ts
capabilities(): BackendCapabilities;

Defined in: src/contracts.ts:106

Returns ​

BackendCapabilities

discardDeadLetter() ​
ts
discardDeadLetter(jobId, reason?): Promise<void>;

Defined in: src/contracts.ts:109

Parameters ​
ParameterType
jobIdstring
reason?string
Returns ​

Promise<void>

enqueue() ​
ts
enqueue<TType>(
   type,
   payload,
options?): Promise<string>;

Defined in: src/contracts.ts:89

Type Parameters ​
Type Parameter
TType extends string
Parameters ​
ParameterType
typeTType
payloadJobPayload<TJobs, TType>
options?EnqueueOptions<DeclaredJobContext<TJobs, TType>, object>
Returns ​

Promise<string>

enqueueDetailed() ​
ts
enqueueDetailed<TType>(
   type,
   payload,
options?): Promise<EnqueueResult>;

Defined in: src/contracts.ts:95

Type Parameters ​
Type Parameter
TType extends string
Parameters ​
ParameterType
typeTType
payloadJobPayload<TJobs, TType>
options?EnqueueOptions<DeclaredJobContext<TJobs, TType>, object>
Returns ​

Promise<EnqueueResult>

getJob() ​
ts
getJob<TType>(jobId): Promise<
  | JobRecord<JobPayload<TJobs, TType>, JobContextOf<TJobs, TType>>
| null>;

Defined in: src/contracts.ts:101

Type Parameters ​
Type ParameterDefault type
TType extends stringExtract<keyof TJobs, string>
Parameters ​
ParameterType
jobIdstring
Returns ​

Promise< | JobRecord<JobPayload<TJobs, TType>, JobContextOf<TJobs, TType>> | null>

getJobHistory() ​
ts
getJobHistory(jobId): Promise<JobHistoryEntry[]>;

Defined in: src/contracts.ts:105

Parameters ​
ParameterType
jobIdstring
Returns ​

Promise<JobHistoryEntry[]>

listDeadLetters() ​
ts
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;

Defined in: src/contracts.ts:107

Parameters ​
ParameterType
filter?DeadLetterFilter
Returns ​

Promise<JobRecord<unknown, unknown>[]>

replayDeadLetter() ​
ts
replayDeadLetter(jobId, options?): Promise<string>;

Defined in: src/contracts.ts:108

Parameters ​
ParameterType
jobIdstring
options?ReplayOptions
Returns ​

Promise<string>

Type Aliases ​

AnyJobDefinition ​

ts
type AnyJobDefinition =
  | JobBuilder<unknown, unknown, unknown>
| JobDefinition<unknown, unknown, unknown>;

Defined in: src/contracts.ts:18


BackoffPolicy ​

ts
type BackoffPolicy =
  | {
  delayMs: number;
  jitter?: number;
  type: "fixed";
}
  | {
  delayMs: number;
  jitter?: number;
  maxDelayMs?: number;
  type: "exponential";
};

Defined in: src/retry.ts:2


EmptyJobPayload ​

ts
type EmptyJobPayload = Record<string, never>;

Defined in: src/contracts.ts:14


EnqueueCommitObserver ​

ts
type EnqueueCommitObserver = (result) => void;

Defined in: src/backend/jobs-backend.interface.ts:11

Parameters ​

ParameterType
resultEnqueueResult

Returns ​

void


HandlerFn ​

ts
type HandlerFn = (payload, context) => Promise<unknown>;

Defined in: src/handler-registry.ts:4

Parameters ​

ParameterType
payloadRecord<string, unknown>
contextJobContext

Returns ​

Promise<unknown>


JobContextOf ​

ts
type JobContextOf<TJobs, TType> = TJobs[TType] extends {
  __context?: infer TContext;
} ? TContext & JobContext : JobContext;

Defined in: src/contracts.ts:53

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions
TType extends JobType<TJobs>

JobDefinitions ​

ts
type JobDefinitions = Record<string, AnyJobDefinition>;

Defined in: src/contracts.ts:16


JobLifecycleEventType ​

ts
type JobLifecycleEventType =
  | "job.enqueued"
  | "job.started"
  | "job.timed_out"
  | "job.succeeded"
  | "job.failed"
  | "job.retry_scheduled"
  | "job.dead_lettered"
  | "job.cancelled"
  | "job.discarded"
  | "job.replayed";

Defined in: src/lifecycle.ts:65


JobPayload ​

ts
type JobPayload<TJobs, TType> = TJobs[TType] extends {
  __payload?: infer TPayload;
} ? TPayload & object : never;

Defined in: src/contracts.ts:48

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions
TType extends JobType<TJobs>

JobResult ​

ts
type JobResult<TJobs, TType> = TJobs[TType] extends {
  __result?: infer TResult;
} ? TResult : unknown;

Defined in: src/contracts.ts:65

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions
TType extends JobType<TJobs>

JobsErrorCode ​

ts
type JobsErrorCode = typeof JobsErrorCode[keyof typeof JobsErrorCode];

Defined in: src/errors.ts:1


JobStatus ​

ts
type JobStatus =
  | "queued"
  | "delayed"
  | "active"
  | "succeeded"
  | "failed"
  | "retrying"
  | "dead_letter"
  | "cancelled";

Defined in: src/lifecycle.ts:1


JobType ​

ts
type JobType<TJobs> = Extract<keyof TJobs, string>;

Defined in: src/contracts.ts:46

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions

Variables ​

CONTEXT_KEY ​

ts
const CONTEXT_KEY: "__nestarcCtx" = '__nestarcCtx';

Defined in: src/context-serializer.ts:6


INTERNAL_JOB_KEY ​

ts
const INTERNAL_JOB_KEY: "__nestarcJob" = '__nestarcJob';

Defined in: src/context-serializer.ts:7


JOB_HANDLER_METADATA ​

ts
const JOB_HANDLER_METADATA: "nestarc:jobs:handler" = 'nestarc:jobs:handler';

Defined in: src/decorators/job-handler.decorator.ts:3


JOBS_BACKEND ​

ts
const JOBS_BACKEND: typeof JOBS_BACKEND;

Defined in: src/jobs.module.ts:32


JOBS_SERVICE ​

ts
const JOBS_SERVICE: typeof JOBS_SERVICE;

Defined in: src/contracts.ts:12


JOBS_WORKERS ​

ts
const JOBS_WORKERS: typeof JOBS_WORKERS;

Defined in: src/jobs.module.ts:33


JobsErrorCode ​

ts
const JobsErrorCode: {
  ActivationConflict: "jobs_activation_conflict";
  BackendClosed: "jobs_backend_closed";
  CapabilityUnsupported: "jobs_capability_unsupported";
  DrainLimitExceeded: "jobs_drain_limit_exceeded";
  FairnessMisconfig: "jobs_fairness_misconfig";
  HandlerNotFound: "jobs_handler_not_found";
  IdentityConflict: "jobs_identity_conflict";
  InvalidInput: "jobs_invalid_input";
  QueueNotFound: "jobs_queue_not_found";
  ReservedPayloadKey: "jobs_reserved_payload_key";
  SerializationInvalid: "jobs_serialization_invalid";
  ShutdownIncomplete: "jobs_shutdown_incomplete";
};

Defined in: src/errors.ts:1

Type Declaration ​

NameTypeDefault valueDefined in
ActivationConflict"jobs_activation_conflict"'jobs_activation_conflict'src/errors.ts:11
BackendClosed"jobs_backend_closed"'jobs_backend_closed'src/errors.ts:10
CapabilityUnsupported"jobs_capability_unsupported"'jobs_capability_unsupported'src/errors.ts:9
DrainLimitExceeded"jobs_drain_limit_exceeded"'jobs_drain_limit_exceeded'src/errors.ts:2
FairnessMisconfig"jobs_fairness_misconfig"'jobs_fairness_misconfig'src/errors.ts:8
HandlerNotFound"jobs_handler_not_found"'jobs_handler_not_found'src/errors.ts:6
IdentityConflict"jobs_identity_conflict"'jobs_identity_conflict'src/errors.ts:13
InvalidInput"jobs_invalid_input"'jobs_invalid_input'src/errors.ts:3
QueueNotFound"jobs_queue_not_found"'jobs_queue_not_found'src/errors.ts:7
ReservedPayloadKey"jobs_reserved_payload_key"'jobs_reserved_payload_key'src/errors.ts:5
SerializationInvalid"jobs_serialization_invalid"'jobs_serialization_invalid'src/errors.ts:4
ShutdownIncomplete"jobs_shutdown_incomplete"'jobs_shutdown_incomplete'src/errors.ts:12

Functions ​

attachContext() ​

ts
function attachContext<T>(payload, context): T & {
  __nestarcCtx: JobContext;
};

Defined in: src/context-serializer.ts:9

Type Parameters ​

Type Parameter
T extends Record<string, unknown>

Parameters ​

ParameterType
payloadT
contextJobContext | undefined

Returns ​

T & { __nestarcCtx: JobContext; }


computeBackoffDelayMs() ​

ts
function computeBackoffDelayMs(policy, attempt): number;

Defined in: src/retry.ts:11

Parameters ​

ParameterType
policyBackoffPolicy | undefined
attemptnumber

Returns ​

number


createFakeJobs() ​

ts
function createFakeJobs(opts): FakeJobsService;

Defined in: src/fake-jobs.service.ts:83

Parameters ​

ParameterType
optsFakeJobsOptions

Returns ​

FakeJobsService


createOutboxJobsPublisher() ​

ts
function createOutboxJobsPublisher(publisherOptions): Type<OutboxPublisher>;

Defined in: src/outbox/outbox-jobs-publisher.ts:50

Creates an OutboxPublisher-compatible Nest provider for use as OutboxModule.forRoot({ transport: createOutboxJobsPublisher(...), delivery: { mode: 'publisher' } }).

Parameters ​

ParameterType
publisherOptionsOutboxJobsPublisherOptions

Returns ​

Type<OutboxPublisher>


defineJobs() ​

ts
function defineJobs<TJobs>(definitions): TJobs;

Defined in: src/contracts.ts:141

Type Parameters ​

Type Parameter
TJobs extends JobDefinitions

Parameters ​

ParameterType
definitionsTJobs

Returns ​

TJobs


detachContext() ​

ts
function detachContext<T>(envelope): {
  context: JobContext;
  payload: Omit<T, typeof CONTEXT_KEY>;
};

Defined in: src/context-serializer.ts:29

Type Parameters ​

Type Parameter
T extends Record<string, unknown>

Parameters ​

ParameterType
envelopeT

Returns ​

ts
{
  context: JobContext;
  payload: Omit<T, typeof CONTEXT_KEY>;
}
NameTypeDefined in
contextJobContextsrc/context-serializer.ts:31
payloadOmit<T, typeof CONTEXT_KEY>src/context-serializer.ts:31

InjectJobs() ​

ts
function InjectJobs(): PropertyDecorator & ParameterDecorator;

Defined in: src/contracts.ts:145

Returns ​

PropertyDecorator & ParameterDecorator


job() ​

ts
function job<TPayload>(..._invalid): JobBuilder<TPayload, JobContext, unknown>;

Defined in: src/contracts.ts:135

Type Parameters ​

Type Parameter
TPayload extends object

Parameters ​

ParameterType
..._invalidPlainObjectArguments<TPayload>

Returns ​

JobBuilder<TPayload, JobContext, unknown>


JobHandler() ​

ts
function JobHandler(jobType): MethodDecorator;

Defined in: src/decorators/job-handler.decorator.ts:5

Parameters ​

ParameterType
jobTypestring

Returns ​

MethodDecorator

Released under the MIT License.