Class EddyqRedis

    Index

    Constructors

    Accessors

    • get line(): string

      Hash-tag namespace ("line") this queue uses for all keys.

      Returns string

    Methods

    • Register a fixed-interval schedule. Fires every intervalMs milliseconds — no cron expression required.

      intervalMs must be positive. The first fire happens after intervalMs from registration; subsequent fires are previous_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 | null
      • OptionalmaxAttempts: number | null
      • Optionalqueue: string | null

      Returns Promise<void>

    • Parameters

      • name: string
      • cron: string
      • kind: string
      • payload: any
      • Optionalpriority: number | null
      • OptionalmaxAttempts: number | null
      • Optionalqueue: string | null

      Returns Promise<void>

    • Cancel a pending or scheduled job. Returns true if cancelled, false if the job doesn't exist or is already running/finalized.

      Parameters

      • id: number

      Returns Promise<boolean>

    • Ad-hoc retention sweep. Deletes up to limit finalized jobs in state older than graceMs milliseconds. state is 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>

    • Parameters

      • groupKey: string

      Returns Promise<void>

    • Parameters

      • key: string

      Returns Promise<Group | null>

    • Parameters

      • name: string

      Returns Promise<NamedQueue | null>

    • Snapshot of job counts grouped by (queue, state). Single Redis round-trip — suitable as the landing query for a dashboard.

      Returns Promise<JobStats>

    • Returns Promise<Group[]>

    • Returns Promise<Schedule[]>

    • Parameters

      • groupKey: string

      Returns Promise<void>

    • Parameters

      • queue: string

      Returns Promise<void>

    • Parameters

      • name: string

      Returns Promise<boolean>

    • Parameters

      • groupKey: string

      Returns Promise<void>

    • Parameters

      • queue: string

      Returns Promise<void>

    • Set the abort-broadcast handler. Called once per shutdown so the JS wrapper can fire .abort() on all in-flight AbortControllers.

      Parameters

      • handler: (reason: string) => void

      Returns void

    • Parameters

      • groupKey: string
      • max: number

      Returns Promise<void>

    • Parameters

      • groupKey: string
      • count: number
      • periodMs: number

      Returns Promise<void>

    • Parameters

      • queue: string
      • max: number

      Returns Promise<void>

    • Parameters

      • queue: string
      • OptionaltimeoutMs: number | null

      Returns Promise<void>

    • Parameters

      • name: string
      • enabled: boolean

      Returns Promise<boolean>

    • Set worker concurrency (per-process). Default 10.

      Parameters

      • n: number

      Returns void

    • Graceful shutdown: stop claiming new jobs, fire AbortSignal to in-flight handlers, then await them. Modes mirror the Postgres Eddyq.shutdown.

      Parameters

      Returns Promise<void>

    • Start the worker runtime. Errors if no handlers were registered, or if already running.

      Parameters

      Returns Promise<void>

    • Subscribe workers to specific named queues. Default ["default"].

      Parameters

      • queues: string[]

      Returns void

    • Register a JS handler for kind. Must be called before start().

      Parameters

      • kind: string
      • handler: (call: JobCall) => Promise<unknown>

      Returns void

    • Connect to Redis and bootstrap-load the eddyq_v1 Functions library. Safe to call concurrently from multiple replicas — library load is idempotent (compares SHA, replaces only on mismatch).

      Parameters

      Returns Promise<EddyqRedis>