Skip to content

Class: Job<D, R>

Defined in: glide-mq/src/job.ts:12

Type Parameters

Type ParameterDefault type
Dany
Rany

Properties

abortSignal?

ts
optional abortSignal?: AbortSignal;

Defined in: glide-mq/src/job.ts:42

AbortSignal that fires when this job is revoked during processing. The processor should check signal.aborted cooperatively. Only set when the job is being processed by a Worker.


attemptsMade

ts
attemptsMade: number;

Defined in: glide-mq/src/job.ts:17


cost?

ts
optional cost?: number;

Defined in: glide-mq/src/job.ts:33


data

ts
data: D;

Defined in: glide-mq/src/job.ts:15


deserializationFailed

ts
deserializationFailed: boolean = false;

Defined in: glide-mq/src/job.ts:61

Set to true when data or returnvalue could not be deserialized from Valkey. This typically indicates a serializer mismatch between the producer and consumer. When true, data is set to {} as D and returnvalue to undefined.


discarded

ts
discarded: boolean = false;

Defined in: glide-mq/src/job.ts:48

When true, the job will not be retried on failure regardless of attempts config. Set by calling discard() inside the processor.


expireAt?

ts
optional expireAt?: number;

Defined in: glide-mq/src/job.ts:34


failedReason

ts
failedReason: string | undefined;

Defined in: glide-mq/src/job.ts:19


finishedOn

ts
finishedOn: number | undefined;

Defined in: glide-mq/src/job.ts:22


groupKey?

ts
optional groupKey?: string;

Defined in: glide-mq/src/job.ts:32


id

ts
readonly id: string;

Defined in: glide-mq/src/job.ts:13


name

ts
readonly name: string;

Defined in: glide-mq/src/job.ts:14


opts

ts
readonly opts: JobOptions;

Defined in: glide-mq/src/job.ts:16


orderingKey?

ts
optional orderingKey?: string;

Defined in: glide-mq/src/job.ts:30


orderingSeq?

ts
optional orderingSeq?: number;

Defined in: glide-mq/src/job.ts:31


parentId?

ts
optional parentId?: string;

Defined in: glide-mq/src/job.ts:24


parentIds?

ts
optional parentIds?: string[];

Defined in: glide-mq/src/job.ts:27

Additional parent IDs for DAG multi-parent jobs.


parentQueue?

ts
optional parentQueue?: string;

Defined in: glide-mq/src/job.ts:25


parentQueues?

ts
optional parentQueues?: string[];

Defined in: glide-mq/src/job.ts:29

Additional parent queues for DAG multi-parent jobs (parallel array to parentIds).


processedOn

ts
processedOn: number | undefined;

Defined in: glide-mq/src/job.ts:23


progress

ts
progress: number | object;

Defined in: glide-mq/src/job.ts:20


returnvalue

ts
returnvalue: R | undefined;

Defined in: glide-mq/src/job.ts:18


schedulerName?

ts
optional schedulerName?: string;

Defined in: glide-mq/src/job.ts:35


timestamp

ts
timestamp: number;

Defined in: glide-mq/src/job.ts:21

Methods

changeDelay()

ts
changeDelay(newDelay): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:360

Change the delay of this job. Supports delayed, waiting, and prioritized states. Setting delay to 0 promotes a delayed job immediately. Setting delay > 0 on a waiting/prioritized job moves it to the scheduled ZSet. Throws if the job is in an invalid state (active, completed, failed).

Parameters

ParameterType
newDelaynumber

Returns

Promise<void>


changePriority()

ts
changePriority(newPriority): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:340

Change the priority of this job. Supports waiting, prioritized, and delayed states. Setting priority to 0 moves a prioritized job back to the stream (waiting). Throws if the job is in an invalid state (active, completed, failed).

Parameters

ParameterType
newPrioritynumber

Returns

Promise<void>


discard()

ts
discard(): void;

Defined in: glide-mq/src/job.ts:155

Mark this job so it will not be retried on failure. Call inside the processor before throwing to skip all remaining attempts.

Returns

void


getChildrenValues()

ts
getChildrenValues(): Promise<Record&lt;string, R>>;

Defined in: glide-mq/src/job.ts:207

Read return values from all child jobs (for flow/parent-child patterns).

Returns

Promise<Record<string, R>>


getParents()

ts
getParents(): Promise&lt;object[]>;

Defined in: glide-mq/src/job.ts:254

Read all parent references for this job (for DAG multi-parent patterns). Returns an array of { queue, id } for each parent. For single-parent jobs, returns an array with one element. For jobs with no parent, returns an empty array.

Returns

Promise<object[]>


getState()

ts
getState(): Promise&lt;string>;

Defined in: glide-mq/src/job.ts:514

Read the current state from the job hash.

Returns

Promise<string>


isActive()

ts
isActive(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:492

Check if this job is in the active state.

Returns

Promise<boolean>


isCompleted()

ts
isCompleted(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:471

Check if this job is in the completed state.

Returns

Promise<boolean>


isDelayed()

ts
isDelayed(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:485

Check if this job is in the delayed state.

Returns

Promise<boolean>


isFailed()

ts
isFailed(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:478

Check if this job is in the failed state.

Returns

Promise<boolean>


isRevoked()

ts
isRevoked(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:506

Check if this job has been revoked.

Returns

Promise<boolean>


isWaiting()

ts
isWaiting(): Promise&lt;boolean>;

Defined in: glide-mq/src/job.ts:499

Check if this job is in the waiting state.

Returns

Promise<boolean>


log()

ts
log(message): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:102

Append a log line to this job's log list.

Parameters

ParameterType
messagestring

Returns

Promise<void>


moveToDelayed()

ts
moveToDelayed(timestamp, nextStep?): Promise&lt;never>;

Defined in: glide-mq/src/job.ts:396

Pause an active job and resume it after the given UNIX timestamp in ms. Optionally updates job.data.step before yielding back to the worker.

This method must be called from inside a Worker processor.

Parameters

ParameterType
timestampnumber
nextStep?string

Returns

Promise<never>


moveToFailed()

ts
moveToFailed(err): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:297

Move this job to the failed state. If attempts remain and backoff is configured, retries via the scheduled ZSet. Requires entryId to be set (set by Worker when processing).

Parameters

ParameterType
errError

Returns

Promise<void>


moveToWaitingChildren()

ts
moveToWaitingChildren(): Promise&lt;never>;

Defined in: glide-mq/src/job.ts:189

Pause an active job and wait for dynamically-added child jobs to complete. When all children finish, this job resumes and the processor is invoked again.

This method must be called from inside a Worker processor.

Returns

Promise<never>


promote()

ts
promote(): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:379

Promote a delayed job to waiting immediately. Removes from the scheduled ZSet, adds to the stream, sets state to 'waiting'. Throws if the job is not in the delayed state or does not exist.

Returns

Promise<void>


rateLimitGroup()

ts
rateLimitGroup(duration, opts?): Promise&lt;never>;

Defined in: glide-mq/src/job.ts:424

Rate-limit this job's ordering group for the given duration (milliseconds). The current job is re-parked in the group queue (by default at the front) and the entire group is paused until the duration expires.

Can only be called from inside a Worker processor. Throws GroupRateLimitError which the worker catches internally.

Parameters

ParameterType
durationnumber
opts?GroupRateLimitOptions

Returns

Promise<never>


remove()

ts
remove(): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:331

Remove this job from all data structures.

Returns

Promise<void>


retry()

ts
retry(): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:439

Retry this job by moving it back to the scheduled ZSet with a score of now (so it gets promoted immediately on the next promote cycle). Removes the job from the failed ZSet first to prevent dual membership.

Returns

Promise<void>


updateData()

ts
updateData(data): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:143

Replace the data payload of this job.

Parameters

ParameterType
dataD

Returns

Promise<void>


updateProgress()

ts
updateProgress(progress): Promise&lt;void>;

Defined in: glide-mq/src/job.ts:113

Update the progress of this job. Persists to the job hash and emits a progress event.

Parameters

ParameterType
progressnumber | object

Returns

Promise<void>


waitUntilFinished()

ts
waitUntilFinished(pollIntervalMs?, timeoutMs?): Promise<"completed" | "failed">;

Defined in: glide-mq/src/job.ts:524

Wait until the job reaches a terminal state (completed or failed). Polls the job hash state at the given interval. Returns the final state.

Parameters

ParameterTypeDefault value
pollIntervalMsnumber500
timeoutMsnumber30000

Returns

Promise<"completed" | "failed">

Released under the Apache-2.0 License.