Class EddyqRedis
Index
Constructors
Accessors
Methods
Constructors
constructor
Returns EddyqRedis
Methods
addIntervalSchedule
- addIntervalSchedule(
name: string,
intervalMs: number,
kind: string,
payload: any,
priority?: number | null,
maxAttempts?: number | null,
queue?: string | null,
): Promise<void>Register a fixed-interval schedule. Fires every
intervalMsmilliseconds — no cron expression required.intervalMsmust be positive. The first fire happens afterintervalMsfrom registration; subsequent fires areprevious_fire + intervalMs(no catch-up under leader downtime — missed ticks are skipped, matching the cron path's semantics).Parameters
- name: string
- intervalMs: number
- kind: string
- payload: any
Optionalpriority: number | nullOptionalmaxAttempts: number | nullOptionalqueue: string | null
Returns Promise<void>
addSchedule
- addSchedule(
name: string,
cron: string,
kind: string,
payload: any,
priority?: number | null,
maxAttempts?: number | null,
queue?: string | null,
): Promise<void>Parameters
- name: string
- cron: string
- kind: string
- payload: any
Optionalpriority: number | nullOptionalmaxAttempts: number | nullOptionalqueue: string | null
Returns Promise<void>
cancel
Cancel a pending or scheduled job. Returns
trueif cancelled,falseif the job doesn't exist or is already running/finalized.Parameters
- id: number
Returns Promise<boolean>
clean
- clean(
graceMs: number,
limit: number,
state: "completed" | "failed" | "cancelled",
): Promise<number>Ad-hoc retention sweep. Deletes up to
limitfinalized jobs instateolder thangraceMsmilliseconds.stateis one of"completed" | "failed" | "cancelled". Per-call cap bounds the Lua function's event-loop hold; call repeatedly to drain a backlog.Parameters
- graceMs: number
- limit: number
- state: "completed" | "failed" | "cancelled"
Returns Promise<number>
clearGroupRate
Parameters
- groupKey: string
Returns Promise<void>
enqueue
Enqueue a single job.
Parameters
- kind: string
- payload: any
Optionaloptions: EnqueueOptions | null
Returns Promise<EnqueueOutcome>
enqueueMany
Bulk-enqueue jobs in a single round-trip. Mixed kinds supported. Mirrors the Postgres
enqueueManycap (5,000) so client code is portable across backends.Parameters
- items: EnqueueManyItem[]
Returns Promise<BulkEnqueueOutcome>
getGroup
Parameters
- key: string
Returns Promise<Group | null>
getQueue
Parameters
- name: string
Returns Promise<NamedQueue | null>
getStats
Snapshot of job counts grouped by (queue, state). Single Redis round-trip — suitable as the landing query for a dashboard.
Returns Promise<JobStats>
listGroups
Returns Promise<Group[]>
listJobs
Paginated job listing. Defaults: limit=50, offset=0 (capped at 500).
Parameters
Optionalfilter: ListJobsFilter | nullOptionalpagination: Pagination | null
Returns Promise<JobList>
listNamedQueues
Returns Promise<NamedQueue[]>
listSchedules
Returns Promise<Schedule[]>
pauseGroup
Parameters
- groupKey: string
Returns Promise<void>
pauseQueue
Parameters
- queue: string
Returns Promise<void>
removeSchedule
Parameters
- name: string
Returns Promise<boolean>
resumeGroup
Parameters
- groupKey: string
Returns Promise<void>
resumeQueue
Parameters
- queue: string
Returns Promise<void>
setAbortHandler
Set the abort-broadcast handler. Called once per shutdown so the JS wrapper can fire
.abort()on all in-flightAbortControllers.Parameters
- handler: (reason: string) => void
Returns void
setGroupConcurrency
Parameters
- groupKey: string
- max: number
Returns Promise<void>
setGroupRate
Parameters
- groupKey: string
- count: number
- periodMs: number
Returns Promise<void>
setQueueConcurrency
Parameters
- queue: string
- max: number
Returns Promise<void>
setQueueTimeout
Parameters
- queue: string
OptionaltimeoutMs: number | null
Returns Promise<void>
setScheduleEnabled
Parameters
- name: string
- enabled: boolean
Returns Promise<boolean>
setWorkerConcurrency
Set worker concurrency (per-process). Default 10.
Parameters
- n: number
Returns void
shutdown
Graceful shutdown: stop claiming new jobs, fire
AbortSignalto in-flight handlers, then await them. Modes mirror the PostgresEddyq.shutdown.Parameters
Optionaloptions: ShutdownOptions | null
Returns Promise<void>
start
Start the worker runtime. Errors if no handlers were registered, or if already running.
Parameters
Optionaloptions: StartOptions | null
Returns Promise<void>
subscribeTo
Subscribe workers to specific named queues. Default
["default"].Parameters
- queues: string[]
Returns void
syncSchedules
Reconcile schedules against a declared list. Same semantics as the Postgres
Eddyq.syncSchedules— upserts every declared entry and deletes any stored schedule not in the list. Idempotent.Parameters
- declared: ScheduleDeclaration[]
Returns Promise<SyncSchedulesReport>
work
Register a JS handler for
kind. Must be called beforestart().Parameters
- kind: string
- handler: (call: JobCall) => Promise<unknown>
Returns void
Staticconnect
Connect to Redis and bootstrap-load the
eddyq_v1Functions library. Safe to call concurrently from multiple replicas — library load is idempotent (compares SHA, replaces only on mismatch).Parameters
- url: string
Optionaloptions: RedisConnectOptions | null
Returns Promise<EddyqRedis>
Hash-tag namespace ("line") this queue uses for all keys.