/** * BullMQ Queue Implementation * * This file implements the Queue interface using BullMQ for job processing. * BullMQ provides: * - Built-in deduplication with TTL * - Automatic retries with exponential backoff * - Concurrency control * - Graceful shutdown */ import type { Queue as WorkflowQueue } from '@workflow/world'; /** * Configuration for the queue. */ export interface QueueConfig { /** * Base URL for HTTP callbacks. * Default: http://localhost:${PORT} */ baseUrl?: string; /** * Maximum concurrent message processing. * Default: 20 */ concurrency?: number; /** * Maximum retry attempts for failed jobs. * Default: 3 */ maxRetries?: number; /** * TTL for idempotency deduplication in milliseconds. * Default: 60000 (1 minute) */ idempotencyTtlMs?: number; /** * Timeout for HTTP calls to workflow endpoints in milliseconds. * Default: 300000 (5 minutes) */ httpTimeoutMs?: number; } /** * Creates the Queue implementation using BullMQ. */ export declare function createQueue(options: { redisUrl: string; config?: QueueConfig; }): Promise<{ queue: WorkflowQueue; start: () => Promise; close: () => Promise; }>; //# sourceMappingURL=queue.d.ts.map