Skip to content

CloudflareObjectJobQueue

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:76

T

new CloudflareObjectJobQueue<T>(storage, options?): CloudflareObjectJobQueue<T>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:82

options may also be the key prefix.

CloudflareObjectStorage

string | CloudflareObjectJobQueueOptions<T>

CloudflareObjectJobQueue<T>

cleanupTerminal(options?): Promise<number>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:346

Removes finished jobs: completed and failed ones by default, or those with the given statuses, and with olderThan, only those that finished before it.

JobQueueCleanupOptions | JobStatus[]

Promise<number>

JobQueue.cleanupTerminal


clear(): Promise<void>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:334

Promise<void>

JobQueue.clear


complete(jobId, result?): Promise<void>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:210

Marks the job completed and keeps result with it when it can be stored as JSON. A result that cannot be stored is logged and dropped, never failing the completion, since callers such as JobProcessor would treat that as a failed job and run it again.

string

unknown

Promise<void>

JobQueue.complete


dequeue(options?): Promise<CloudflareObjectJob<T> | undefined>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:127

Takes the next due job and, with leaseMs, leases it. Jobs whose lease expired are due again first, or fail when they have no attempts left. Jobs in options.running are left as they are.

JobDequeueOptions = {}

Promise<CloudflareObjectJob<T> | undefined>

JobQueue.dequeue


enqueue(type, data, options?): Promise<CloudflareObjectJob<T>>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:93

string

T

number

number

Record<string, any>

number

Promise<CloudflareObjectJob<T>>

JobQueue.enqueue


fail(jobId, error, retry?): Promise<void>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:237

A completed job stays completed, even for a worker whose lease expired.

string

string | Error

JobRetryDirective = ...

Promise<void>

JobQueue.fail


getJob(jobId): Promise<CloudflareObjectJob<T> | undefined>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:321

string

Promise<CloudflareObjectJob<T> | undefined>

JobQueue.getJob


nextDueAt(): Promise<Date | undefined>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:305

When dequeue() next has work: the earliest due time of a pending job or lease expiry of a processing one, and now for a processing job that has no lease yet. A time in the past means dequeue() has work now, even when it only settles an expired lease, so call dequeue() rather than checking size(). undefined when no job is pending or leased. Use it to set a Durable Object alarm instead of polling.

Promise<Date | undefined>

JobQueue.nextDueAt


peek(): Promise<CloudflareObjectJob<T> | undefined>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:275

The job dequeue() would take next, including one whose lease expired, shown as it will be once it is due again. Changes nothing.

Promise<CloudflareObjectJob<T> | undefined>

JobQueue.peek


remove(jobId): Promise<boolean>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:327

string

Promise<boolean>

JobQueue.remove


size(): Promise<number>

Defined in: packages/messaging/src/adapters/cloudflare/object-job-queue.ts:287

How many jobs are due now, including those whose lease expired.

Promise<number>

JobQueue.size