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.