@nestarc/jobs
Classes
BullMQBackend
Defined in: src/backend/bullmq-backend.ts:140
Implements
Constructors
Constructor
new BullMQBackend(opts): BullMQBackend;Defined in: src/backend/bullmq-backend.ts:151
Parameters
| Parameter | Type |
|---|---|
opts | BullMQBackendOptions |
Returns
Methods
ack()
ack(_jobType?, _jobId?): Promise<void>;Defined in: src/backend/bullmq-backend.ts:443
Parameters
| Parameter | Type |
|---|---|
_jobType? | string |
_jobId? | string |
Returns
Promise<void>
Implementation of
capabilities()
capabilities(): BackendCapabilities;Defined in: src/backend/bullmq-backend.ts:158
Returns
Implementation of
close()
close(): Promise<void>;Defined in: src/backend/bullmq-backend.ts:486
Returns
Promise<void>
Implementation of
enqueue()
enqueue(
jobType,
envelope,
opts): Promise<string>;Defined in: src/backend/bullmq-backend.ts:179
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
Returns
Promise<string>
Implementation of
enqueueDetailed()
enqueueDetailed(
jobType,
envelope,
opts,
onCommit?): Promise<EnqueueResult>;Defined in: src/backend/bullmq-backend.ts:187
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
onCommit? | EnqueueCommitObserver |
Returns
Promise<EnqueueResult>
Implementation of
fail()
fail(
_jobType?,
_jobId?,
_reason?): Promise<void>;Defined in: src/backend/bullmq-backend.ts:447
Parameters
| Parameter | Type |
|---|---|
_jobType? | string |
_jobId? | string |
_reason? | string |
Returns
Promise<void>
Implementation of
getJob()
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;Defined in: src/backend/bullmq-backend.ts:392
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobRecord<unknown, unknown> | null>
Implementation of
getJobHistory()
getJobHistory(_jobId): Promise<JobHistoryEntry[]>;Defined in: src/backend/bullmq-backend.ts:431
Parameters
| Parameter | Type |
|---|---|
_jobId | string |
Returns
Promise<JobHistoryEntry[]>
Implementation of
getRawQueue()
getRawQueue<TQueue>(jobType): TQueue;Defined in: src/backend/bullmq-backend.ts:498
Type Parameters
| Type Parameter | Default type |
|---|---|
TQueue | BullMQRawQueue |
Parameters
| Parameter | Type |
|---|---|
jobType | string |
Returns
TQueue
moveToActive()
moveToActive(_jobType?, _jobId?): Promise<JobEnvelope<unknown> | null>;Defined in: src/backend/bullmq-backend.ts:439
Parameters
| Parameter | Type |
|---|---|
_jobType? | string |
_jobId? | string |
Returns
Promise<JobEnvelope<unknown> | null>
Implementation of
peekWaiting()
peekWaiting(_jobType?): Promise<JobEnvelope<unknown>[]>;Defined in: src/backend/bullmq-backend.ts:435
Parameters
| Parameter | Type |
|---|---|
_jobType? | string |
Returns
Promise<JobEnvelope<unknown>[]>
Implementation of
registerJobTypes()
registerJobTypes(jobTypes): void;Defined in: src/backend/bullmq-backend.ts:175
Parameters
| Parameter | Type |
|---|---|
jobTypes | Iterable<string> |
Returns
void
startConsumer()
startConsumer(jobTypes, consumer): void;Defined in: src/backend/bullmq-backend.ts:451
Parameters
| Parameter | Type |
|---|---|
jobTypes | string[] |
consumer | BullMQConsumerOptions |
Returns
void
FairWorker
Defined in: src/fair-worker.ts:25
Constructors
Constructor
new FairWorker(opts): FairWorker;Defined in: src/fair-worker.ts:26
Parameters
| Parameter | Type |
|---|---|
opts | FairWorkerOptions |
Returns
Methods
tick()
tick(): Promise<boolean>;Defined in: src/fair-worker.ts:28
Returns
Promise<boolean>
FakeClock
Defined in: src/fake-clock.ts:1
Constructors
Constructor
new FakeClock(now?): FakeClock;Defined in: src/fake-clock.ts:4
Parameters
| Parameter | Type |
|---|---|
now | string | number | Date |
Returns
Methods
advanceBy()
advanceBy(ms): Date;Defined in: src/fake-clock.ts:12
Parameters
| Parameter | Type |
|---|---|
ms | number |
Returns
Date
now()
now(): Date;Defined in: src/fake-clock.ts:8
Returns
Date
set()
set(next): Date;Defined in: src/fake-clock.ts:17
Parameters
| Parameter | Type |
|---|---|
next | string | number | Date |
Returns
Date
FakeJobsService
Defined in: src/fake-jobs.service.ts:18
Constructors
Constructor
new FakeJobsService(opts): FakeJobsService;Defined in: src/fake-jobs.service.ts:26
Parameters
| Parameter | Type |
|---|---|
opts | FakeJobsOptions |
Returns
Properties
backend
readonly backend: InMemoryBackend;Defined in: src/fake-jobs.service.ts:22
clock
readonly clock: FakeClock;Defined in: src/fake-jobs.service.ts:21
registry
readonly registry: HandlerRegistry;Defined in: src/fake-jobs.service.ts:20
schedulers
readonly schedulers: Map<string, Scheduler>;Defined in: src/fake-jobs.service.ts:23
service
readonly service: JobsService;Defined in: src/fake-jobs.service.ts:19
Methods
drain()
drain(maxIterations?): Promise<void>;Defined in: src/fake-jobs.service.ts:59
Parameters
| Parameter | Type | Default value |
|---|---|---|
maxIterations | number | 1000 |
Returns
Promise<void>
drainUntilIdle()
drainUntilIdle(maxIterations?): Promise<void>;Defined in: src/fake-jobs.service.ts:63
Parameters
| Parameter | Type | Default value |
|---|---|---|
maxIterations | number | 1000 |
Returns
Promise<void>
HandlerRegistry
Defined in: src/handler-registry.ts:6
Constructors
Constructor
new HandlerRegistry(): HandlerRegistry;Returns
Methods
invoke()
invoke(
jobType,
payload,
context): Promise<unknown>;Defined in: src/handler-registry.ts:16
Parameters
| Parameter | Type |
|---|---|
jobType | string |
payload | Record<string, unknown> |
context | JobContext |
Returns
Promise<unknown>
list()
list(): string[];Defined in: src/handler-registry.ts:26
Returns
string[]
register()
register(jobType, handler): void;Defined in: src/handler-registry.ts:9
Parameters
| Parameter | Type |
|---|---|
jobType | string |
handler | HandlerFn |
Returns
void
InMemoryBackend
Defined in: src/backend/in-memory-backend.ts:49
Implements
Constructors
Constructor
new InMemoryBackend(opts?): InMemoryBackend;Defined in: src/backend/in-memory-backend.ts:56
Parameters
| Parameter | Type |
|---|---|
opts | InMemoryBackendOptions |
Returns
Methods
ack()
ack(jobType, jobId): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/in-memory-backend.ts:181
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
Returns
Promise<void | JobRecord<unknown, unknown>>
Implementation of
capabilities()
capabilities(): BackendCapabilities;Defined in: src/backend/in-memory-backend.ts:58
Returns
Implementation of
close()
close(): Promise<void>;Defined in: src/backend/in-memory-backend.ts:343
Returns
Promise<void>
Implementation of
discardDeadLetter()
discardDeadLetter(jobId, reason?): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/in-memory-backend.ts:330
Parameters
| Parameter | Type | Default value |
|---|---|---|
jobId | string | undefined |
reason | string | 'discarded' |
Returns
Promise<void | JobRecord<unknown, unknown>>
Implementation of
enqueue()
enqueue(
jobType,
envelope,
opts): Promise<string>;Defined in: src/backend/in-memory-backend.ts:75
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
Returns
Promise<string>
Implementation of
enqueueDetailed()
enqueueDetailed(
jobType,
envelope,
opts,
onCommit?): Promise<EnqueueResult>;Defined in: src/backend/in-memory-backend.ts:83
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
onCommit? | EnqueueCommitObserver |
Returns
Promise<EnqueueResult>
Implementation of
fail()
fail(
jobType,
jobId,
reason): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/in-memory-backend.ts:197
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
reason | string |
Returns
Promise<void | JobRecord<unknown, unknown>>
Implementation of
getJob()
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;Defined in: src/backend/in-memory-backend.ts:251
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobRecord<unknown, unknown> | null>
Implementation of
getJobHistory()
getJobHistory(jobId): Promise<JobHistoryEntry[]>;Defined in: src/backend/in-memory-backend.ts:256
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobHistoryEntry[]>
Implementation of
listDeadLetters()
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;Defined in: src/backend/in-memory-backend.ts:260
Parameters
| Parameter | Type |
|---|---|
filter | DeadLetterFilter |
Returns
Promise<JobRecord<unknown, unknown>[]>
Implementation of
markCancelled()
markCancelled(
jobType,
jobId,
reason?): Promise<JobRecord<unknown, unknown> | null>;Defined in: src/backend/in-memory-backend.ts:234
Parameters
| Parameter | Type | Default value |
|---|---|---|
jobType | string | undefined |
jobId | string | undefined |
reason | string | 'cancelled' |
Returns
Promise<JobRecord<unknown, unknown> | null>
markFailed()
markFailed(
jobType,
jobId,
reason,
error?): Promise<JobRecord<unknown, unknown> | null>;Defined in: src/backend/in-memory-backend.ts:202
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
reason | string |
error? | JobErrorSummary |
Returns
Promise<JobRecord<unknown, unknown> | null>
moveToActive()
moveToActive(jobType, jobId): Promise<JobEnvelope<unknown> | null>;Defined in: src/backend/in-memory-backend.ts:169
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
Returns
Promise<JobEnvelope<unknown> | null>
Implementation of
peekWaiting()
peekWaiting(jobType): Promise<JobEnvelope<unknown>[]>;Defined in: src/backend/in-memory-backend.ts:163
Parameters
| Parameter | Type |
|---|---|
jobType | string |
Returns
Promise<JobEnvelope<unknown>[]>
Implementation of
replayDeadLetter()
replayDeadLetter(jobId, options?): Promise<string>;Defined in: src/backend/in-memory-backend.ts:275
Parameters
| Parameter | Type |
|---|---|
jobId | string |
options | ReplayOptions |
Returns
Promise<string>
Implementation of
JobsError
Defined in: src/errors.ts:13
Extends
Error
Constructors
Constructor
new JobsError(code, reason?): JobsError;Defined in: src/errors.ts:16
Parameters
| Parameter | Type |
|---|---|
code | JobsErrorCode |
reason? | string |
Returns
Overrides
Error.constructorProperties
cause?
optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26
Inherited from
Error.causecode
readonly code: JobsErrorCode;Defined in: src/errors.ts:14
message
message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077
Inherited from
Error.messagename
name: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Error.namestack?
optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078
Inherited from
Error.stackstackTraceLimit
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
Error.stackTraceLimitMethods
captureStackTrace()
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.
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:
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
| Parameter | Type |
|---|---|
targetObject | object |
constructorOpt? | Function |
Returns
void
Inherited from
Error.captureStackTraceprepareStackTrace()
static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:56
Parameters
| Parameter | Type |
|---|---|
err | Error |
stackTraces | CallSite[] |
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Error.prepareStackTraceJobsModule
Defined in: src/jobs.module.ts:186
Constructors
Constructor
new JobsModule(): JobsModule;Returns
Methods
forBullMQ()
static forBullMQ(options): DynamicModule;Defined in: src/jobs.module.ts:261
Parameters
| Parameter | Type |
|---|---|
options | BullMQOptions |
Returns
DynamicModule
forInMemory()
static forInMemory(options): DynamicModule;Defined in: src/jobs.module.ts:187
Parameters
| Parameter | Type |
|---|---|
options | InMemoryOptions |
Returns
DynamicModule
JobsOutboxBridge
Defined in: src/outbox/outbox-bridge.module.ts:20
Constructors
Constructor
new JobsOutboxBridge(opts): JobsOutboxBridge;Defined in: src/outbox/outbox-bridge.module.ts:21
Parameters
| Parameter | Type |
|---|---|
opts | JobsOutboxBridgeOptions |
Returns
JobsService
Defined in: src/jobs.service.ts:31
Constructors
Constructor
new JobsService(deps): JobsService;Defined in: src/jobs.service.ts:35
Parameters
| Parameter | Type |
|---|---|
deps | JobsServiceDeps |
Returns
Methods
capabilities()
capabilities(): BackendCapabilities;Defined in: src/jobs.service.ts:101
Returns
discardDeadLetter()
discardDeadLetter(jobId, reason?): Promise<void>;Defined in: src/jobs.service.ts:216
Parameters
| Parameter | Type |
|---|---|
jobId | string |
reason? | string |
Returns
Promise<void>
enqueue()
enqueue(
jobType,
payload,
opts?): Promise<string>;Defined in: src/jobs.service.ts:40
Parameters
| Parameter | Type |
|---|---|
jobType | string |
payload | object |
opts | EnqueueOptions<object, object> |
Returns
Promise<string>
enqueueDetailed()
enqueueDetailed(
jobType,
payload,
opts?): Promise<EnqueueResult>;Defined in: src/jobs.service.ts:48
Parameters
| Parameter | Type |
|---|---|
jobType | string |
payload | object |
opts | EnqueueOptions<object, object> |
Returns
Promise<EnqueueResult>
getJob()
getJob<TPayload, TContext>(jobId): Promise<JobRecord<TPayload, TContext> | null>;Defined in: src/jobs.service.ts:105
Type Parameters
| Type Parameter | Default type |
|---|---|
TPayload | unknown |
TContext | unknown |
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobRecord<TPayload, TContext> | null>
getJobHistory()
getJobHistory(jobId): Promise<JobHistoryEntry[]>;Defined in: src/jobs.service.ts:111
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobHistoryEntry[]>
listDeadLetters()
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;Defined in: src/jobs.service.ts:116
Parameters
| Parameter | Type |
|---|---|
filter? | DeadLetterFilter |
Returns
Promise<JobRecord<unknown, unknown>[]>
replayDeadLetter()
replayDeadLetter(jobId, options?): Promise<string>;Defined in: src/jobs.service.ts:124
Parameters
| Parameter | Type |
|---|---|
jobId | string |
options? | ReplayOptions |
Returns
Promise<string>
scheduler()
scheduler(jobType): Scheduler;Defined in: src/jobs.service.ts:241
Parameters
| Parameter | Type |
|---|---|
jobType | string |
Returns
setTenantWeight()
setTenantWeight(
jobType,
tenantId,
weight): void;Defined in: src/jobs.service.ts:237
Parameters
| Parameter | Type |
|---|---|
jobType | string |
tenantId | string |
weight | number |
Returns
void
Scheduler
Defined in: src/scheduler.ts:37
Constructors
Constructor
new Scheduler(opts): Scheduler;Defined in: src/scheduler.ts:47
Parameters
| Parameter | Type |
|---|---|
opts | SchedulerOptions |
Returns
Methods
onAck()
onAck(jobId): void;Defined in: src/scheduler.ts:100
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
void
onEnqueue()
onEnqueue(
jobId,
tenantId,
timing?): void;Defined in: src/scheduler.ts:78
Parameters
| Parameter | Type |
|---|---|
jobId | string |
tenantId | string |
timing? | SchedulerEnqueueTiming |
Returns
void
pickNext()
pickNext(): PickedJob | null;Defined in: src/scheduler.ts:110
Returns
PickedJob | null
setWeight()
setWeight(tenantId, weight): void;Defined in: src/scheduler.ts:65
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
weight | number |
Returns
void
snapshot()
snapshot(): {
inflight: number;
starvationTokens: number;
tenantId: string;
waiting: number;
weight: number;
}[];Defined in: src/scheduler.ts:142
Returns
{ inflight: number; starvationTokens: number; tenantId: string; waiting: number; weight: number; }[]
Interfaces
BackendCapabilities
Defined in: src/lifecycle.ts:48
Properties
backoff
backoff: boolean;Defined in: src/lifecycle.ts:53
deadLetter
deadLetter: boolean;Defined in: src/lifecycle.ts:58
delayed
delayed: boolean;Defined in: src/lifecycle.ts:51
distributed
distributed: boolean;Defined in: src/lifecycle.ts:50
durable
durable: boolean;Defined in: src/lifecycle.ts:49
fairness
fairness: "none" | "local-tenant";Defined in: src/lifecycle.ts:59
history
history: boolean;Defined in: src/lifecycle.ts:56
idempotency
idempotency: boolean;Defined in: src/lifecycle.ts:57
manualDrain
manualDrain: boolean;Defined in: src/lifecycle.ts:60
retries
retries: boolean;Defined in: src/lifecycle.ts:52
statusQuery
statusQuery: boolean;Defined in: src/lifecycle.ts:55
timeout
timeout: boolean;Defined in: src/lifecycle.ts:54
BullMQBackendOptions
Defined in: src/backend/bullmq-backend.ts:118
Properties
connection
connection: object;Defined in: src/backend/bullmq-backend.ts:121
BullMQ/ioredis connection object. Kept structural so BullMQ remains an optional peer.
namespace?
optional namespace?: string;Defined in: src/backend/bullmq-backend.ts:119
workerConcurrency?
optional workerConcurrency?: number;Defined in: src/backend/bullmq-backend.ts:122
BullMQConsumerOptions
Defined in: src/backend/bullmq-backend.ts:131
Properties
contextRunner
contextRunner: (ctx, fn) => Promise<unknown>;Defined in: src/backend/bullmq-backend.ts:133
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
events?
optional events?: JobEventsOptions;Defined in: src/backend/bullmq-backend.ts:137
onFail?
optional onFail?: (e, err) => void;Defined in: src/backend/bullmq-backend.ts:136
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
err | Error |
Returns
void
onFinish?
optional onFinish?: (e) => void;Defined in: src/backend/bullmq-backend.ts:135
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
onStart?
optional onStart?: (e) => void;Defined in: src/backend/bullmq-backend.ts:134
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
registry
registry: HandlerRegistry;Defined in: src/backend/bullmq-backend.ts:132
BullMQOptions
Defined in: src/jobs.module.ts:104
Properties
backend
backend: BullMQBackend;Defined in: src/jobs.module.ts:105
contextExtractor?
optional contextExtractor?: () => JobContext;Defined in: src/jobs.module.ts:111
Returns
contextRunner?
optional contextRunner?: (ctx, fn) => Promise<unknown>;Defined in: src/jobs.module.ts:112
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
events?
optional events?: JobEventsOptions;Defined in: src/jobs.module.ts:110
global?
optional global?: boolean;Defined in: src/jobs.module.ts:108
jobs?
optional jobs?: JobDefinitions;Defined in: src/jobs.module.ts:107
jobTypes
jobTypes: string[];Defined in: src/jobs.module.ts:106
onJobFail?
optional onJobFail?: (e, err) => void;Defined in: src/jobs.module.ts:115
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
err | Error |
Returns
void
onJobFinish?
optional onJobFinish?: (e) => void;Defined in: src/jobs.module.ts:114
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
onJobStart?
optional onJobStart?: (e) => void;Defined in: src/jobs.module.ts:113
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
strictCapabilities?
optional strictCapabilities?: boolean;Defined in: src/jobs.module.ts:109
BullMQRawQueue
Defined in: src/backend/bullmq-backend.ts:125
Methods
add()
add(
name,
data,
options?): Promise<{
id?: string | number;
}>;Defined in: src/backend/bullmq-backend.ts:126
Parameters
| Parameter | Type |
|---|---|
name | string |
data | unknown |
options? | unknown |
Returns
Promise<{ id?: string | number; }>
close()
close(): Promise<void>;Defined in: src/backend/bullmq-backend.ts:128
Returns
Promise<void>
getJob()
getJob(jobId): Promise<unknown>;Defined in: src/backend/bullmq-backend.ts:127
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<unknown>
DeadLetterFilter
Defined in: src/lifecycle.ts:96
Properties
tenantId?
optional tenantId?: string;Defined in: src/lifecycle.ts:98
type?
optional type?: string;Defined in: src/lifecycle.ts:97
DedupeOptions
Defined in: src/types.ts:43
Properties
key
key: string;Defined in: src/types.ts:44
mode?
optional mode?: "while_active" | "until_completed";Defined in: src/types.ts:47
scope?
optional scope?: "global" | "tenant";Defined in: src/types.ts:45
ttlMs?
optional ttlMs?: number;Defined in: src/types.ts:46
EnqueueOptions
Defined in: src/types.ts:50
Type Parameters
| Type Parameter | Default type |
|---|---|
TContext | JobContext |
TMetadata extends object | Record<string, unknown> |
Properties
attempts?
optional attempts?: number;Defined in: src/types.ts:59
backoff?
optional backoff?: BackoffPolicy;Defined in: src/types.ts:60
context?
optional context?: TContext;Defined in: src/types.ts:55
dedupe?
optional dedupe?: DedupeOptions;Defined in: src/types.ts:63
delay?
optional delay?: number;Defined in: src/types.ts:56
delayMs?
optional delayMs?: number;Defined in: src/types.ts:57
idempotencyKey?
optional idempotencyKey?: string;Defined in: src/types.ts:62
jobId?
optional jobId?: string;Defined in: src/types.ts:54
metadata?
optional metadata?: TMetadata;Defined in: src/types.ts:64
scheduledFor?
optional scheduledFor?: Date;Defined in: src/types.ts:58
timeoutMs?
optional timeoutMs?: number;Defined in: src/types.ts:61
EnqueueResult
Defined in: src/lifecycle.ts:90
Properties
existingJobId?
optional existingJobId?: string;Defined in: src/lifecycle.ts:93
jobId
jobId: string;Defined in: src/lifecycle.ts:92
status
status: "created" | "deduped";Defined in: src/lifecycle.ts:91
FairWorkerOptions
Defined in: src/fair-worker.ts:13
Properties
backend
backend: JobsBackend;Defined in: src/fair-worker.ts:15
contextRunner
contextRunner: (ctx, fn) => Promise<unknown>;Defined in: src/fair-worker.ts:18
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
events?
optional events?: JobEventsOptions;Defined in: src/fair-worker.ts:22
jobType
jobType: string;Defined in: src/fair-worker.ts:14
onFail?
optional onFail?: (e, err) => void;Defined in: src/fair-worker.ts:21
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
err | Error |
Returns
void
onFinish?
optional onFinish?: (e) => void;Defined in: src/fair-worker.ts:20
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
onStart?
optional onStart?: (e) => void;Defined in: src/fair-worker.ts:19
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
registry
registry: HandlerRegistry;Defined in: src/fair-worker.ts:17
scheduler
scheduler: Scheduler;Defined in: src/fair-worker.ts:16
FakeJobsOptions
Defined in: src/fake-jobs.service.ts:10
Extends
Omit<Partial<SchedulerOptions>,"clock">
Properties
contextExtractor?
optional contextExtractor?: () => JobContext;Defined in: src/fake-jobs.service.ts:14
Returns
contextRunner?
optional contextRunner?: (ctx, fn) => Promise<unknown>;Defined in: src/fake-jobs.service.ts:15
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
defaultWeight?
optional defaultWeight?: number;Defined in: src/scheduler.ts:4
Inherited from
SchedulerOptions.defaultWeight
jobs?
optional jobs?: JobDefinitions;Defined in: src/fake-jobs.service.ts:12
jobTypes
jobTypes: string[];Defined in: src/fake-jobs.service.ts:11
minSharePct?
optional minSharePct?: number;Defined in: src/scheduler.ts:5
Inherited from
now?
optional now?: string | number | Date;Defined in: src/fake-jobs.service.ts:13
tenantCap?
optional tenantCap?: number;Defined in: src/scheduler.ts:6
Inherited from
InMemoryBackendOptions
Defined in: src/backend/in-memory-backend.ts:44
Properties
deadLetter?
optional deadLetter?: {
enabled?: boolean;
};Defined in: src/backend/in-memory-backend.ts:46
enabled?
optional enabled?: boolean;now?
optional now?: () => Date;Defined in: src/backend/in-memory-backend.ts:45
Returns
Date
InMemoryOptions
Defined in: src/jobs.module.ts:89
Properties
concurrency?
optional concurrency?: {
tenantCap?: number;
};Defined in: src/jobs.module.ts:95
tenantCap?
optional tenantCap?: number;contextExtractor?
optional contextExtractor?: () => JobContext;Defined in: src/jobs.module.ts:97
Returns
contextRunner?
optional contextRunner?: (ctx, fn) => Promise<unknown>;Defined in: src/jobs.module.ts:98
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
events?
optional events?: JobEventsOptions;Defined in: src/jobs.module.ts:94
fairness?
optional fairness?: {
defaultWeight?: number;
minSharePct?: number;
};Defined in: src/jobs.module.ts:96
defaultWeight?
optional defaultWeight?: number;minSharePct?
optional minSharePct?: number;global?
optional global?: boolean;Defined in: src/jobs.module.ts:92
jobs?
optional jobs?: JobDefinitions;Defined in: src/jobs.module.ts:91
jobTypes
jobTypes: string[];Defined in: src/jobs.module.ts:90
onJobFail?
optional onJobFail?: (e, err) => void;Defined in: src/jobs.module.ts:101
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
err | Error |
Returns
void
onJobFinish?
optional onJobFinish?: (e) => void;Defined in: src/jobs.module.ts:100
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
onJobStart?
optional onJobStart?: (e) => void;Defined in: src/jobs.module.ts:99
Parameters
| Parameter | Type |
|---|---|
e | JobEvent |
Returns
void
strictCapabilities?
optional strictCapabilities?: boolean;Defined in: src/jobs.module.ts:93
JobBuilder
Defined in: src/contracts.ts:29
Type Parameters
| Type Parameter |
|---|
TPayload |
TContext |
TResult |
Properties
__context?
readonly optional __context?: TContext;Defined in: src/contracts.ts:31
__payload?
readonly optional __payload?: TPayload;Defined in: src/contracts.ts:30
__result?
readonly optional __result?: TResult;Defined in: src/contracts.ts:32
Methods
context()
context<TNextContext>(...invalid): JobBuilder<TPayload, TNextContext, TResult>;Defined in: src/contracts.ts:33
Type Parameters
| Type Parameter |
|---|
TNextContext extends object |
Parameters
| Parameter | Type |
|---|---|
...invalid | PlainObjectArguments<TNextContext> |
Returns
JobBuilder<TPayload, TNextContext, TResult>
defaults()
defaults(defaults): JobDefinition<TPayload, TContext, TResult>;Defined in: src/contracts.ts:37
Parameters
| Parameter | Type |
|---|---|
defaults | JobDefaults |
Returns
JobDefinition<TPayload, TContext, TResult>
result()
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
[key: string]: unknownProperties
signal?
optional signal?: AbortSignal;Defined in: src/types.ts:5
tenantId?
optional tenantId?: string;Defined in: src/types.ts:4
JobDefaults
Defined in: src/contracts.ts:40
Properties
attempts?
optional attempts?: number;Defined in: src/contracts.ts:41
backoff?
optional backoff?: BackoffPolicy;Defined in: src/contracts.ts:43
timeoutMs?
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?
readonly optional __context?: TContext;Defined in: src/contracts.ts:24
__payload?
readonly optional __payload?: TPayload;Defined in: src/contracts.ts:23
__result?
readonly optional __result?: TResult;Defined in: src/contracts.ts:25
defaults
readonly defaults: JobDefaults;Defined in: src/contracts.ts:26
JobEnvelope
Defined in: src/types.ts:9
Type Parameters
| Type Parameter | Default type |
|---|---|
T | unknown |
Properties
attempts
attempts: number;Defined in: src/types.ts:15
backoff?
optional backoff?: BackoffPolicy;Defined in: src/types.ts:19
context
context: JobContext;Defined in: src/types.ts:13
dedupeKey?
optional dedupeKey?: string;Defined in: src/types.ts:22
enqueuedAt
enqueuedAt: Date;Defined in: src/types.ts:14
id
id: string;Defined in: src/types.ts:10
idempotencyKey?
optional idempotencyKey?: string;Defined in: src/types.ts:21
jobType
jobType: string;Defined in: src/types.ts:11
maxAttempts
maxAttempts: number;Defined in: src/types.ts:16
metadata
metadata: Record<string, unknown>;Defined in: src/types.ts:20
payload
payload: T;Defined in: src/types.ts:12
scheduledFor?
optional scheduledFor?: Date;Defined in: src/types.ts:17
timeoutMs?
optional timeoutMs?: number;Defined in: src/types.ts:18
JobErrorSummary
Defined in: src/lifecycle.ts:11
Properties
code?
optional code?: string;Defined in: src/lifecycle.ts:14
message
message: string;Defined in: src/lifecycle.ts:13
name?
optional name?: string;Defined in: src/lifecycle.ts:12
reason?
optional reason?: string;Defined in: src/lifecycle.ts:15
JobEvent
Defined in: src/types.ts:33
Properties
attempt?
optional attempt?: number;Defined in: src/types.ts:37
durationMs?
optional durationMs?: number;Defined in: src/types.ts:40
finishedAt?
optional finishedAt?: Date;Defined in: src/types.ts:39
jobId
jobId: string;Defined in: src/types.ts:34
jobType
jobType: string;Defined in: src/types.ts:35
startedAt?
optional startedAt?: Date;Defined in: src/types.ts:38
tenantId
tenantId: string | undefined;Defined in: src/types.ts:36
JobEventsOptions
Defined in: src/lifecycle.ts:86
Properties
onEvent?
optional onEvent?: (event) => void;Defined in: src/lifecycle.ts:87
Parameters
| Parameter | Type |
|---|---|
event | JobLifecycleEvent |
Returns
void
JobHistoryEntry
Defined in: src/lifecycle.ts:38
Properties
at
at: Date;Defined in: src/lifecycle.ts:42
attempt
attempt: number;Defined in: src/lifecycle.ts:41
error?
optional error?: JobErrorSummary;Defined in: src/lifecycle.ts:44
jobId
jobId: string;Defined in: src/lifecycle.ts:39
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/lifecycle.ts:45
reason?
optional reason?: string;Defined in: src/lifecycle.ts:43
status
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
attempt: number;Defined in: src/contracts.ts:75
context
context: JobContextOf<TJobs, TType>;Defined in: src/contracts.ts:74
id
id: string;Defined in: src/contracts.ts:71
maxAttempts
maxAttempts: number;Defined in: src/contracts.ts:76
metadata
metadata: Record<string, unknown>;Defined in: src/contracts.ts:78
payload
payload: JobPayload<TJobs, TType>;Defined in: src/contracts.ts:73
signal
signal: AbortSignal;Defined in: src/contracts.ts:77
type
type: TType;Defined in: src/contracts.ts:72
JobLifecycleEvent
Defined in: src/lifecycle.ts:74
Properties
at
at: Date;Defined in: src/lifecycle.ts:80
attempt
attempt: number;Defined in: src/lifecycle.ts:79
durationMs?
optional durationMs?: number;Defined in: src/lifecycle.ts:81
error?
optional error?: JobErrorSummary;Defined in: src/lifecycle.ts:82
jobId
jobId: string;Defined in: src/lifecycle.ts:76
jobType
jobType: string;Defined in: src/lifecycle.ts:77
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/lifecycle.ts:83
tenantId?
optional tenantId?: string;Defined in: src/lifecycle.ts:78
type
type: JobLifecycleEventType;Defined in: src/lifecycle.ts:75
JobRecord
Defined in: src/lifecycle.ts:18
Type Parameters
| Type Parameter | Default type |
|---|---|
TPayload | unknown |
TContext | unknown |
Properties
attempt
attempt: number;Defined in: src/lifecycle.ts:24
completedAt?
optional completedAt?: Date;Defined in: src/lifecycle.ts:29
context?
optional context?: TContext;Defined in: src/lifecycle.ts:23
dedupeKey?
optional dedupeKey?: string;Defined in: src/lifecycle.ts:34
enqueuedAt
enqueuedAt: Date;Defined in: src/lifecycle.ts:26
error?
optional error?: JobErrorSummary;Defined in: src/lifecycle.ts:32
failedAt?
optional failedAt?: Date;Defined in: src/lifecycle.ts:30
id
id: string;Defined in: src/lifecycle.ts:19
idempotencyKey?
optional idempotencyKey?: string;Defined in: src/lifecycle.ts:33
maxAttempts
maxAttempts: number;Defined in: src/lifecycle.ts:25
metadata
metadata: Record<string, unknown>;Defined in: src/lifecycle.ts:35
nextAttemptAt?
optional nextAttemptAt?: Date;Defined in: src/lifecycle.ts:31
payload?
optional payload?: TPayload;Defined in: src/lifecycle.ts:22
scheduledFor?
optional scheduledFor?: Date;Defined in: src/lifecycle.ts:27
startedAt?
optional startedAt?: Date;Defined in: src/lifecycle.ts:28
status
status: JobStatus;Defined in: src/lifecycle.ts:21
type
type: string;Defined in: src/lifecycle.ts:20
JobsBackend
Defined in: src/backend/jobs-backend.interface.ts:13
Methods
ack()
ack(jobType, jobId): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/jobs-backend.interface.ts:28
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
Returns
Promise<void | JobRecord<unknown, unknown>>
capabilities()
capabilities(): BackendCapabilities;Defined in: src/backend/jobs-backend.interface.ts:14
Returns
close()
close(): Promise<void>;Defined in: src/backend/jobs-backend.interface.ts:35
Returns
Promise<void>
discardDeadLetter()?
optional discardDeadLetter(jobId, reason?): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/jobs-backend.interface.ts:34
Parameters
| Parameter | Type |
|---|---|
jobId | string |
reason? | string |
Returns
Promise<void | JobRecord<unknown, unknown>>
enqueue()
enqueue(
jobType,
envelope,
opts): Promise<string>;Defined in: src/backend/jobs-backend.interface.ts:15
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
Returns
Promise<string>
enqueueDetailed()?
optional enqueueDetailed(
jobType,
envelope,
opts,
onCommit?): Promise<EnqueueResult>;Defined in: src/backend/jobs-backend.interface.ts:20
Parameters
| Parameter | Type |
|---|---|
jobType | string |
envelope | Record<string, unknown> |
opts | EnqueueOptions |
onCommit? | EnqueueCommitObserver |
Returns
Promise<EnqueueResult>
fail()
fail(
jobType,
jobId,
reason): Promise<void | JobRecord<unknown, unknown>>;Defined in: src/backend/jobs-backend.interface.ts:29
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
reason | string |
Returns
Promise<void | JobRecord<unknown, unknown>>
getJob()
getJob(jobId): Promise<JobRecord<unknown, unknown> | null>;Defined in: src/backend/jobs-backend.interface.ts:30
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobRecord<unknown, unknown> | null>
getJobHistory()
getJobHistory(jobId): Promise<JobHistoryEntry[]>;Defined in: src/backend/jobs-backend.interface.ts:31
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobHistoryEntry[]>
listDeadLetters()?
optional listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;Defined in: src/backend/jobs-backend.interface.ts:32
Parameters
| Parameter | Type |
|---|---|
filter? | DeadLetterFilter |
Returns
Promise<JobRecord<unknown, unknown>[]>
moveToActive()
moveToActive(jobType, jobId): Promise<JobEnvelope<unknown> | null>;Defined in: src/backend/jobs-backend.interface.ts:27
Parameters
| Parameter | Type |
|---|---|
jobType | string |
jobId | string |
Returns
Promise<JobEnvelope<unknown> | null>
peekWaiting()
peekWaiting(jobType): Promise<JobEnvelope<unknown>[]>;Defined in: src/backend/jobs-backend.interface.ts:26
Parameters
| Parameter | Type |
|---|---|
jobType | string |
Returns
Promise<JobEnvelope<unknown>[]>
replayDeadLetter()?
optional replayDeadLetter(jobId, options?): Promise<string>;Defined in: src/backend/jobs-backend.interface.ts:33
Parameters
| Parameter | Type |
|---|---|
jobId | string |
options? | ReplayOptions |
Returns
Promise<string>
JobsOutboxBridgeOptions
Defined in: src/outbox/outbox-bridge.module.ts:13
Properties
jobs
jobs: JobsService;Defined in: src/outbox/outbox-bridge.module.ts:14
map
map: Record<string, string>;Defined in: src/outbox/outbox-bridge.module.ts:16
source
source: OutboxSource;Defined in: src/outbox/outbox-bridge.module.ts:15
tenantFrom?
optional tenantFrom?: (event) => string;Defined in: src/outbox/outbox-bridge.module.ts:17
Parameters
| Parameter | Type |
|---|---|
event | OutboxEvent |
Returns
string
JobsServiceDeps
Defined in: src/jobs.service.ts:20
Properties
backend
backend: JobsBackend;Defined in: src/jobs.service.ts:21
contextExtractor?
optional contextExtractor?: () => JobContext;Defined in: src/jobs.service.ts:25
Returns
contextRunner?
optional contextRunner?: (ctx, fn) => Promise<unknown>;Defined in: src/jobs.service.ts:26
Parameters
| Parameter | Type |
|---|---|
ctx | JobContext |
fn | () => Promise<unknown> |
Returns
Promise<unknown>
events?
optional events?: JobEventsOptions;Defined in: src/jobs.service.ts:27
jobs?
optional jobs?: JobDefinitions;Defined in: src/jobs.service.ts:28
jobTypes?
optional jobTypes?: Iterable<string, any, any>;Defined in: src/jobs.service.ts:24
registry
registry: HandlerRegistry;Defined in: src/jobs.service.ts:22
schedulers?
optional schedulers?: Map<string, Scheduler>;Defined in: src/jobs.service.ts:23
OutboxEvent
Defined in: src/outbox/outbox-bridge.module.ts:3
Properties
payload
payload: Record<string, unknown>;Defined in: src/outbox/outbox-bridge.module.ts:5
tenantId
tenantId: string;Defined in: src/outbox/outbox-bridge.module.ts:6
type
type: string;Defined in: src/outbox/outbox-bridge.module.ts:4
OutboxJobsPublisherOptions
Defined in: src/outbox/outbox-jobs-publisher.ts:39
Properties
map
map: Record<string, string | OutboxJobTarget>;Defined in: src/outbox/outbox-jobs-publisher.ts:40
unmapped?
optional unmapped?: "error" | "ignore";Defined in: src/outbox/outbox-jobs-publisher.ts:41
OutboxJobTarget
Defined in: src/outbox/outbox-jobs-publisher.ts:32
Properties
job
job: string;Defined in: src/outbox/outbox-jobs-publisher.ts:33
options?
optional options?:
| EnqueueOptions<JobContext, Record<string, unknown>>
| ((record) => EnqueueOptions);Defined in: src/outbox/outbox-jobs-publisher.ts:35
payload?
optional payload?: (record) => Record<string, unknown>;Defined in: src/outbox/outbox-jobs-publisher.ts:34
Parameters
| Parameter | Type |
|---|---|
record | OutboxRecord |
Returns
Record<string, unknown>
tenant?
optional tenant?: "required" | "optional" | ((record) => string | undefined);Defined in: src/outbox/outbox-jobs-publisher.ts:36
OutboxPublisher
Defined in: src/outbox/outbox-jobs-publisher.ts:28
Methods
publish()
publish(record): Promise<void>;Defined in: src/outbox/outbox-jobs-publisher.ts:29
Parameters
| Parameter | Type |
|---|---|
record | OutboxRecord |
Returns
Promise<void>
OutboxRecord
Defined in: src/outbox/outbox-jobs-publisher.ts:6
Properties
aggregateId?
optional aggregateId?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:19
aggregateType?
optional aggregateType?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:18
causationId?
optional causationId?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:23
correlationId?
optional correlationId?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:22
createdAt?
optional createdAt?: Date;Defined in: src/outbox/outbox-jobs-publisher.ts:11
eventType
eventType: string;Defined in: src/outbox/outbox-jobs-publisher.ts:8
headers?
optional headers?: Record<string, unknown> | null;Defined in: src/outbox/outbox-jobs-publisher.ts:24
id
id: string;Defined in: src/outbox/outbox-jobs-publisher.ts:7
idempotencyKey?
optional idempotencyKey?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:21
lastError?
optional lastError?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:16
maxRetries?
optional maxRetries?: number;Defined in: src/outbox/outbox-jobs-publisher.ts:15
occurredAt?
optional occurredAt?: string | Date | null;Defined in: src/outbox/outbox-jobs-publisher.ts:25
partitionKey?
optional partitionKey?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:20
payload
payload: Record<string, unknown>;Defined in: src/outbox/outbox-jobs-publisher.ts:9
processedAt?
optional processedAt?: Date | null;Defined in: src/outbox/outbox-jobs-publisher.ts:13
retryCount?
optional retryCount?: number;Defined in: src/outbox/outbox-jobs-publisher.ts:14
status?
optional status?: "PENDING" | "PROCESSING" | "SENT" | "FAILED";Defined in: src/outbox/outbox-jobs-publisher.ts:10
tenantId?
optional tenantId?: string | null;Defined in: src/outbox/outbox-jobs-publisher.ts:17
updatedAt?
optional updatedAt?: Date;Defined in: src/outbox/outbox-jobs-publisher.ts:12
OutboxSource
Defined in: src/outbox/outbox-bridge.module.ts:9
Methods
onEvent()
onEvent(cb): void;Defined in: src/outbox/outbox-bridge.module.ts:10
Parameters
| Parameter | Type |
|---|---|
cb | (event) => Promise<void> |
Returns
void
PickedJob
Defined in: src/scheduler.ts:32
Properties
jobId
jobId: string;Defined in: src/scheduler.ts:33
tenantId
tenantId: string;Defined in: src/scheduler.ts:34
ReplayOptions
Defined in: src/lifecycle.ts:101
Properties
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/lifecycle.ts:104
preserveOriginalId?
optional preserveOriginalId?: boolean;Defined in: src/lifecycle.ts:102
resetAttempts?
optional resetAttempts?: boolean;Defined in: src/lifecycle.ts:103
RetryPolicy
Defined in: src/retry.ts:5
Properties
attempts?
optional attempts?: number;Defined in: src/retry.ts:6
backoff?
optional backoff?: BackoffPolicy;Defined in: src/retry.ts:7
SchedulerEnqueueTiming
Defined in: src/scheduler.ts:10
Properties
delayMs?
optional delayMs?: number;Defined in: src/scheduler.ts:12
scheduledFor?
optional scheduledFor?: Date;Defined in: src/scheduler.ts:11
SchedulerOptions
Defined in: src/scheduler.ts:3
Properties
clock?
optional clock?: () => Date;Defined in: src/scheduler.ts:7
Returns
Date
defaultWeight
defaultWeight: number;Defined in: src/scheduler.ts:4
minSharePct
minSharePct: number;Defined in: src/scheduler.ts:5
tenantCap
tenantCap: number;Defined in: src/scheduler.ts:6
ShardSnapshot
Defined in: src/types.ts:25
Properties
inflight
inflight: number;Defined in: src/types.ts:28
starvationTokens
starvationTokens: number;Defined in: src/types.ts:30
tenantId
tenantId: string;Defined in: src/types.ts:26
waiting
waiting: number;Defined in: src/types.ts:27
weight
weight: number;Defined in: src/types.ts:29
TypedJobHandler
Defined in: src/contracts.ts:81
Type Parameters
| Type Parameter |
|---|
TJobs extends JobDefinitions |
TType extends JobType<TJobs> |
Methods
handle()
handle(payload, context): Promise<JobResult<TJobs, TType>>;Defined in: src/contracts.ts:82
Parameters
| Parameter | Type |
|---|---|
payload | JobPayload<TJobs, TType> |
context | JobContextOf<TJobs, TType> |
Returns
Promise<JobResult<TJobs, TType>>
TypedJobsService
Defined in: src/contracts.ts:88
Type Parameters
| Type Parameter |
|---|
TJobs extends JobDefinitions |
Methods
capabilities()
capabilities(): BackendCapabilities;Defined in: src/contracts.ts:106
Returns
discardDeadLetter()
discardDeadLetter(jobId, reason?): Promise<void>;Defined in: src/contracts.ts:109
Parameters
| Parameter | Type |
|---|---|
jobId | string |
reason? | string |
Returns
Promise<void>
enqueue()
enqueue<TType>(
type,
payload,
options?): Promise<string>;Defined in: src/contracts.ts:89
Type Parameters
| Type Parameter |
|---|
TType extends string |
Parameters
| Parameter | Type |
|---|---|
type | TType |
payload | JobPayload<TJobs, TType> |
options? | EnqueueOptions<DeclaredJobContext<TJobs, TType>, object> |
Returns
Promise<string>
enqueueDetailed()
enqueueDetailed<TType>(
type,
payload,
options?): Promise<EnqueueResult>;Defined in: src/contracts.ts:95
Type Parameters
| Type Parameter |
|---|
TType extends string |
Parameters
| Parameter | Type |
|---|---|
type | TType |
payload | JobPayload<TJobs, TType> |
options? | EnqueueOptions<DeclaredJobContext<TJobs, TType>, object> |
Returns
Promise<EnqueueResult>
getJob()
getJob<TType>(jobId): Promise<
| JobRecord<JobPayload<TJobs, TType>, JobContextOf<TJobs, TType>>
| null>;Defined in: src/contracts.ts:101
Type Parameters
| Type Parameter | Default type |
|---|---|
TType extends string | Extract<keyof TJobs, string> |
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise< | JobRecord<JobPayload<TJobs, TType>, JobContextOf<TJobs, TType>> | null>
getJobHistory()
getJobHistory(jobId): Promise<JobHistoryEntry[]>;Defined in: src/contracts.ts:105
Parameters
| Parameter | Type |
|---|---|
jobId | string |
Returns
Promise<JobHistoryEntry[]>
listDeadLetters()
listDeadLetters(filter?): Promise<JobRecord<unknown, unknown>[]>;Defined in: src/contracts.ts:107
Parameters
| Parameter | Type |
|---|---|
filter? | DeadLetterFilter |
Returns
Promise<JobRecord<unknown, unknown>[]>
replayDeadLetter()
replayDeadLetter(jobId, options?): Promise<string>;Defined in: src/contracts.ts:108
Parameters
| Parameter | Type |
|---|---|
jobId | string |
options? | ReplayOptions |
Returns
Promise<string>
Type Aliases
AnyJobDefinition
type AnyJobDefinition =
| JobBuilder<unknown, unknown, unknown>
| JobDefinition<unknown, unknown, unknown>;Defined in: src/contracts.ts:18
BackoffPolicy
type BackoffPolicy =
| {
delayMs: number;
jitter?: number;
type: "fixed";
}
| {
delayMs: number;
jitter?: number;
maxDelayMs?: number;
type: "exponential";
};Defined in: src/retry.ts:1
EmptyJobPayload
type EmptyJobPayload = Record<string, never>;Defined in: src/contracts.ts:14
EnqueueCommitObserver
type EnqueueCommitObserver = (result) => void;Defined in: src/backend/jobs-backend.interface.ts:11
Parameters
| Parameter | Type |
|---|---|
result | EnqueueResult |
Returns
void
HandlerFn
type HandlerFn = (payload, context) => Promise<unknown>;Defined in: src/handler-registry.ts:4
Parameters
| Parameter | Type |
|---|---|
payload | Record<string, unknown> |
context | JobContext |
Returns
Promise<unknown>
JobContextOf
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
type JobDefinitions = Record<string, AnyJobDefinition>;Defined in: src/contracts.ts:16
JobLifecycleEventType
type JobLifecycleEventType =
| "job.enqueued"
| "job.started"
| "job.succeeded"
| "job.failed"
| "job.retry_scheduled"
| "job.dead_lettered"
| "job.cancelled"
| "job.discarded"
| "job.replayed";Defined in: src/lifecycle.ts:63
JobPayload
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
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
type JobsErrorCode = typeof JobsErrorCode[keyof typeof JobsErrorCode];Defined in: src/errors.ts:1
JobStatus
type JobStatus =
| "queued"
| "delayed"
| "active"
| "succeeded"
| "failed"
| "retrying"
| "dead_letter"
| "cancelled";Defined in: src/lifecycle.ts:1
JobType
type JobType<TJobs> = Extract<keyof TJobs, string>;Defined in: src/contracts.ts:46
Type Parameters
| Type Parameter |
|---|
TJobs extends JobDefinitions |
Variables
CONTEXT_KEY
const CONTEXT_KEY: "__nestarcCtx" = '__nestarcCtx';Defined in: src/context-serializer.ts:4
INTERNAL_JOB_KEY
const INTERNAL_JOB_KEY: "__nestarcJob" = '__nestarcJob';Defined in: src/context-serializer.ts:5
JOB_HANDLER_METADATA
const JOB_HANDLER_METADATA: "nestarc:jobs:handler" = 'nestarc:jobs:handler';Defined in: src/decorators/job-handler.decorator.ts:3
JOBS_BACKEND
const JOBS_BACKEND: typeof JOBS_BACKEND;Defined in: src/jobs.module.ts:27
JOBS_SERVICE
const JOBS_SERVICE: typeof JOBS_SERVICE;Defined in: src/contracts.ts:12
JOBS_WORKERS
const JOBS_WORKERS: typeof JOBS_WORKERS;Defined in: src/jobs.module.ts:28
JobsErrorCode
const JobsErrorCode: {
BackendClosed: "jobs_backend_closed";
CapabilityUnsupported: "jobs_capability_unsupported";
FairnessMisconfig: "jobs_fairness_misconfig";
HandlerNotFound: "jobs_handler_not_found";
IdentityConflict: "jobs_identity_conflict";
QueueNotFound: "jobs_queue_not_found";
ReservedPayloadKey: "jobs_reserved_payload_key";
};Defined in: src/errors.ts:1
Type Declaration
| Name | Type | Default value | Defined in |
|---|---|---|---|
BackendClosed | "jobs_backend_closed" | 'jobs_backend_closed' | src/errors.ts:7 |
CapabilityUnsupported | "jobs_capability_unsupported" | 'jobs_capability_unsupported' | src/errors.ts:6 |
FairnessMisconfig | "jobs_fairness_misconfig" | 'jobs_fairness_misconfig' | src/errors.ts:5 |
HandlerNotFound | "jobs_handler_not_found" | 'jobs_handler_not_found' | src/errors.ts:3 |
IdentityConflict | "jobs_identity_conflict" | 'jobs_identity_conflict' | src/errors.ts:8 |
QueueNotFound | "jobs_queue_not_found" | 'jobs_queue_not_found' | src/errors.ts:4 |
ReservedPayloadKey | "jobs_reserved_payload_key" | 'jobs_reserved_payload_key' | src/errors.ts:2 |
Functions
attachContext()
function attachContext<T>(payload, context): T & {
__nestarcCtx: JobContext;
};Defined in: src/context-serializer.ts:7
Type Parameters
| Type Parameter |
|---|
T extends Record<string, unknown> |
Parameters
| Parameter | Type |
|---|---|
payload | T |
context | JobContext | undefined |
Returns
T & { __nestarcCtx: JobContext; }
computeBackoffDelayMs()
function computeBackoffDelayMs(policy, attempt): number;Defined in: src/retry.ts:10
Parameters
| Parameter | Type |
|---|---|
policy | BackoffPolicy | undefined |
attempt | number |
Returns
number
createFakeJobs()
function createFakeJobs(opts): FakeJobsService;Defined in: src/fake-jobs.service.ts:74
Parameters
| Parameter | Type |
|---|---|
opts | FakeJobsOptions |
Returns
createOutboxJobsPublisher()
function createOutboxJobsPublisher(publisherOptions): Type<OutboxPublisher>;Defined in: src/outbox/outbox-jobs-publisher.ts:49
Creates an OutboxPublisher-compatible Nest provider for use as OutboxModule.forRoot({ transport: createOutboxJobsPublisher(...), delivery: { mode: 'publisher' } }).
Parameters
| Parameter | Type |
|---|---|
publisherOptions | OutboxJobsPublisherOptions |
Returns
Type<OutboxPublisher>
defineJobs()
function defineJobs<TJobs>(definitions): TJobs;Defined in: src/contracts.ts:141
Type Parameters
| Type Parameter |
|---|
TJobs extends JobDefinitions |
Parameters
| Parameter | Type |
|---|---|
definitions | TJobs |
Returns
TJobs
detachContext()
function detachContext<T>(envelope): {
context: JobContext;
payload: Omit<T, typeof CONTEXT_KEY>;
};Defined in: src/context-serializer.ts:24
Type Parameters
| Type Parameter |
|---|
T extends Record<string, unknown> |
Parameters
| Parameter | Type |
|---|---|
envelope | T |
Returns
{
context: JobContext;
payload: Omit<T, typeof CONTEXT_KEY>;
}| Name | Type | Defined in |
|---|---|---|
context | JobContext | src/context-serializer.ts:26 |
payload | Omit<T, typeof CONTEXT_KEY> | src/context-serializer.ts:26 |
InjectJobs()
function InjectJobs(): PropertyDecorator & ParameterDecorator;Defined in: src/contracts.ts:145
Returns
PropertyDecorator & ParameterDecorator
job()
function job<TPayload>(..._invalid): JobBuilder<TPayload, JobContext, unknown>;Defined in: src/contracts.ts:135
Type Parameters
| Type Parameter |
|---|
TPayload extends object |
Parameters
| Parameter | Type |
|---|---|
..._invalid | PlainObjectArguments<TPayload> |
Returns
JobBuilder<TPayload, JobContext, unknown>
JobHandler()
function JobHandler(jobType): MethodDecorator;Defined in: src/decorators/job-handler.decorator.ts:5
Parameters
| Parameter | Type |
|---|---|
jobType | string |
Returns
MethodDecorator