bunqueue-client 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +150 -0
- package/LEGACY.md +460 -0
- package/README.md +204 -349
- package/dist/ack-batcher.js +7 -67
- package/dist/canonical-manifest.json +930 -0
- package/dist/chunk-b967v3w3.js +79 -0
- package/dist/chunk-fekm0ma6.js +110 -0
- package/dist/chunk-jxkszwqp.js +573 -0
- package/dist/embedded.js +16418 -0
- package/dist/frame.js +14 -57
- package/dist/index.d.ts +1 -27
- package/dist/index.js +10905 -16
- package/dist/legacy.d.ts +1 -0
- package/dist/legacy.js +2081 -0
- package/dist/{ack-batcher.d.ts → types/sdk/typescript/src/ack-batcher.d.ts} +3 -3
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/aging.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/batch.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue-api.d.ts +5 -5
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue.d.ts +13 -13
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/circuit-breaker.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dedup-debounce.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dlq-rate-limit.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/rate-gate.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/retry.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/triggers.d.ts +3 -3
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/ttl.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/types.d.ts +4 -4
- package/dist/types/sdk/typescript/src/canonical-transport/bun-sqlite-types.d.ts +21 -0
- package/dist/{connection-pool.d.ts → types/sdk/typescript/src/connection-pool.d.ts} +1 -1
- package/dist/{connection-types.d.ts → types/sdk/typescript/src/connection-types.d.ts} +1 -1
- package/dist/{connection.d.ts → types/sdk/typescript/src/connection.d.ts} +6 -19
- package/dist/{errors.d.ts → types/sdk/typescript/src/errors.d.ts} +3 -0
- package/dist/types/sdk/typescript/src/flow-commit.d.ts +5 -0
- package/dist/types/sdk/typescript/src/flow-plan-legacy.d.ts +13 -0
- package/dist/types/sdk/typescript/src/flow-plan.d.ts +29 -0
- package/dist/{flow-types.d.ts → types/sdk/typescript/src/flow-types.d.ts} +7 -4
- package/dist/{flow.d.ts → types/sdk/typescript/src/flow.d.ts} +6 -10
- package/dist/{frame.d.ts → types/sdk/typescript/src/frame.d.ts} +1 -1
- package/dist/types/sdk/typescript/src/index.d.ts +10 -0
- package/dist/{job.d.ts → types/sdk/typescript/src/job.d.ts} +4 -3
- package/dist/types/sdk/typescript/src/legacy.d.ts +27 -0
- package/dist/{observability.d.ts → types/sdk/typescript/src/observability.d.ts} +14 -0
- package/dist/{queue-admin.d.ts → types/sdk/typescript/src/queue-admin.d.ts} +3 -4
- package/dist/{queue-control.d.ts → types/sdk/typescript/src/queue-control.d.ts} +5 -5
- package/dist/{queue-query.d.ts → types/sdk/typescript/src/queue-query.d.ts} +3 -3
- package/dist/{queue.d.ts → types/sdk/typescript/src/queue.d.ts} +8 -8
- package/dist/{responses.d.ts → types/sdk/typescript/src/responses.d.ts} +2 -2
- package/dist/types/sdk/typescript/src/serialization.d.ts +10 -0
- package/dist/{socket-factory.d.ts → types/sdk/typescript/src/socket-factory.d.ts} +1 -1
- package/dist/types/sdk/typescript/src/terminal-outcome.d.ts +8 -0
- package/dist/{types.d.ts → types/sdk/typescript/src/types.d.ts} +5 -2
- package/dist/{worker-base.d.ts → types/sdk/typescript/src/worker-base.d.ts} +6 -6
- package/dist/types/sdk/typescript/src/worker-slot-signal.d.ts +6 -0
- package/dist/{worker-types.d.ts → types/sdk/typescript/src/worker-types.d.ts} +3 -3
- package/dist/{worker.d.ts → types/sdk/typescript/src/worker.d.ts} +3 -2
- package/dist/types/src/application/background/dlq.d.ts +2 -0
- package/dist/types/src/application/background/lifecycle.d.ts +4 -0
- package/dist/types/src/application/background/recovery/active.d.ts +5 -0
- package/dist/types/src/application/background/recovery/index.d.ts +2 -0
- package/dist/types/src/application/background/recovery/pending.d.ts +3 -0
- package/dist/types/src/application/background/recovery/restore.d.ts +5 -0
- package/dist/types/src/application/background/recovery/shared.d.ts +6 -0
- package/dist/types/src/application/background/timeouts.d.ts +25 -0
- package/dist/types/src/application/backgroundTasks.d.ts +7 -0
- package/dist/types/src/application/cleanupTasks.d.ts +10 -0
- package/dist/types/src/application/clientTracking.d.ts +44 -0
- package/dist/types/src/application/completedCleanup.d.ts +34 -0
- package/dist/types/src/application/completedRetry.d.ts +21 -0
- package/dist/types/src/application/contextFactory.d.ts +49 -0
- package/dist/types/src/application/dependencyCompletions.d.ts +63 -0
- package/dist/types/src/application/dependencyProcessor.d.ts +15 -0
- package/dist/types/src/application/dependencyResultTracker.d.ts +18 -0
- package/dist/types/src/application/dlqManager.d.ts +49 -0
- package/dist/types/src/application/dlqRetry.d.ts +12 -0
- package/dist/types/src/application/emptyQueueCleanup.d.ts +3 -0
- package/dist/types/src/application/eventsManager.d.ts +50 -0
- package/dist/types/src/application/flowFailureRecovery.d.ts +20 -0
- package/dist/types/src/application/flowParentBackpatch.d.ts +27 -0
- package/dist/types/src/application/jobLogsManager.d.ts +21 -0
- package/dist/types/src/application/latencyTracker.d.ts +39 -0
- package/dist/types/src/application/lockManager.d.ts +15 -0
- package/dist/types/src/application/lockOperations.d.ts +38 -0
- package/dist/types/src/application/metricsExporter.d.ts +27 -0
- package/dist/types/src/application/monitoringChecks.d.ts +36 -0
- package/dist/types/src/application/operations/ack/batch.d.ts +8 -0
- package/dist/types/src/application/operations/ack/completion.d.ts +3 -0
- package/dist/types/src/application/operations/ack/failure.d.ts +3 -0
- package/dist/types/src/application/operations/ack.d.ts +5 -0
- package/dist/types/src/application/operations/ackHelpers.d.ts +36 -0
- package/dist/types/src/application/operations/customId.d.ts +51 -0
- package/dist/types/src/application/operations/flowPush.d.ts +9 -0
- package/dist/types/src/application/operations/flowTopologyValidation.d.ts +3 -0
- package/dist/types/src/application/operations/flowValidation.d.ts +3 -0
- package/dist/types/src/application/operations/jobClaim.d.ts +17 -0
- package/dist/types/src/application/operations/jobManagement.d.ts +43 -0
- package/dist/types/src/application/operations/jobMoveOperations.d.ts +9 -0
- package/dist/types/src/application/operations/jobPromotion.d.ts +7 -0
- package/dist/types/src/application/operations/jobStateTransitions.d.ts +15 -0
- package/dist/types/src/application/operations/parentLink.d.ts +36 -0
- package/dist/types/src/application/operations/parentLinkInput.d.ts +8 -0
- package/dist/types/src/application/operations/pull.d.ts +20 -0
- package/dist/types/src/application/operations/pullFinalization.d.ts +6 -0
- package/dist/types/src/application/operations/pullStateTransition.d.ts +51 -0
- package/dist/types/src/application/operations/push.d.ts +13 -0
- package/dist/types/src/application/operations/pushAdmission.d.ts +36 -0
- package/dist/types/src/application/operations/pushBatch.d.ts +4 -0
- package/dist/types/src/application/operations/pushContext.d.ts +48 -0
- package/dist/types/src/application/operations/pushDeduplication.d.ts +42 -0
- package/dist/types/src/application/operations/pushInsert.d.ts +39 -0
- package/dist/types/src/application/operations/pushLocks.d.ts +15 -0
- package/dist/types/src/application/operations/query/collect.d.ts +12 -0
- package/dist/types/src/application/operations/query/jobLookup.d.ts +9 -0
- package/dist/types/src/application/operations/query/pagination.d.ts +8 -0
- package/dist/types/src/application/operations/query/state.d.ts +4 -0
- package/dist/types/src/application/operations/queryOperations.d.ts +5 -0
- package/dist/types/src/application/operations/queueControl.d.ts +50 -0
- package/dist/types/src/application/prometheusOperationalMetrics.d.ts +31 -0
- package/dist/types/src/application/queue-manager/ack.d.ts +23 -0
- package/dist/types/src/application/queue-manager/configuration.d.ts +27 -0
- package/dist/types/src/application/queue-manager/context.d.ts +5 -0
- package/dist/types/src/application/queue-manager/control.d.ts +20 -0
- package/dist/types/src/application/queue-manager/delivery.d.ts +33 -0
- package/dist/types/src/application/queue-manager/dependencies.d.ts +8 -0
- package/dist/types/src/application/queue-manager/dependency-runtime.d.ts +8 -0
- package/dist/types/src/application/queue-manager/flow-failures.d.ts +18 -0
- package/dist/types/src/application/queue-manager/flow-options.d.ts +8 -0
- package/dist/types/src/application/queue-manager/job-management.d.ts +17 -0
- package/dist/types/src/application/queue-manager/lifecycle.d.ts +4 -0
- package/dist/types/src/application/queue-manager/limits.d.ts +58 -0
- package/dist/types/src/application/queue-manager/locks.d.ts +21 -0
- package/dist/types/src/application/queue-manager/observability.d.ts +16 -0
- package/dist/types/src/application/queue-manager/queries.d.ts +24 -0
- package/dist/types/src/application/queue-manager/repeat.d.ts +4 -0
- package/dist/types/src/application/queue-manager/services.d.ts +19 -0
- package/dist/types/src/application/queue-manager/state.d.ts +96 -0
- package/dist/types/src/application/queue-manager/stats.d.ts +28 -0
- package/dist/types/src/application/queueManager.d.ts +5 -0
- package/dist/types/src/application/queueStatsAggregator.d.ts +23 -0
- package/dist/types/src/application/queueTelemetryJournal.d.ts +24 -0
- package/dist/types/src/application/repeatJobs.d.ts +7 -0
- package/dist/types/src/application/stallDetection.d.ts +10 -0
- package/dist/types/src/application/statsManager.d.ts +59 -0
- package/dist/types/src/application/taskErrorTracking.d.ts +22 -0
- package/dist/types/src/application/throughputTracker.d.ts +34 -0
- package/dist/types/src/application/types/ack.d.ts +136 -0
- package/dist/types/src/application/types/background.d.ts +18 -0
- package/dist/types/src/application/types/config.d.ts +41 -0
- package/dist/types/src/application/types/contextFactory.d.ts +87 -0
- package/dist/types/src/application/types/contexts.d.ts +114 -0
- package/dist/types/src/application/types/index.d.ts +7 -0
- package/dist/types/src/application/types/query.d.ts +23 -0
- package/dist/types/src/application/types/queueManager.d.ts +98 -0
- package/dist/types/src/application/webhookManager.d.ts +47 -0
- package/dist/types/src/application/workerManager.d.ts +61 -0
- package/dist/types/src/client/bunqueue/aging.d.ts +16 -0
- package/dist/types/src/client/bunqueue/batch.d.ts +16 -0
- package/dist/types/src/client/bunqueue/cancellation.d.ts +21 -0
- package/dist/types/src/client/bunqueue/circuitBreaker.d.ts +21 -0
- package/dist/types/src/client/bunqueue/dedupDebounce.d.ts +12 -0
- package/dist/types/src/client/bunqueue/dlqRateLimit.d.ts +26 -0
- package/dist/types/src/client/bunqueue/retry.d.ts +8 -0
- package/dist/types/src/client/bunqueue/runtime.d.ts +35 -0
- package/dist/types/src/client/bunqueue/triggers.d.ts +17 -0
- package/dist/types/src/client/bunqueue/ttl.d.ts +17 -0
- package/dist/types/src/client/bunqueue/types.d.ts +147 -0
- package/dist/types/src/client/bunqueue.d.ts +73 -0
- package/dist/types/src/client/dlqConversion.d.ts +5 -0
- package/dist/types/src/client/errors.d.ts +24 -0
- package/dist/types/src/client/events.d.ts +85 -0
- package/dist/types/src/client/flow.d.ts +70 -0
- package/dist/types/src/client/flowAtomic.d.ts +9 -0
- package/dist/types/src/client/flowJobCoreMethods.d.ts +28 -0
- package/dist/types/src/client/flowJobDependencies.d.ts +7 -0
- package/dist/types/src/client/flowJobFactory.d.ts +24 -0
- package/dist/types/src/client/flowJobMoveMethods.d.ts +16 -0
- package/dist/types/src/client/flowJobTypes.d.ts +29 -0
- package/dist/types/src/client/flowLegacyPlan.d.ts +16 -0
- package/dist/types/src/client/flowOptions.d.ts +10 -0
- package/dist/types/src/client/flowPlan.d.ts +16 -0
- package/dist/types/src/client/flowPush.d.ts +27 -0
- package/dist/types/src/client/flowReader.d.ts +10 -0
- package/dist/types/src/client/flowResults.d.ts +11 -0
- package/dist/types/src/client/flowTypes.d.ts +77 -0
- package/dist/types/src/client/forwarder.d.ts +74 -0
- package/dist/types/src/client/groupId.d.ts +1 -0
- package/dist/types/src/client/index.d.ts +46 -0
- package/dist/types/src/client/jobConversion.d.ts +10 -0
- package/dist/types/src/client/jobConversionHelpers.d.ts +28 -0
- package/dist/types/src/client/jobConversionTypes.d.ts +88 -0
- package/dist/types/src/client/jobDeduplication.d.ts +6 -0
- package/dist/types/src/client/jobHelpers.d.ts +31 -0
- package/dist/types/src/client/legacyConnectionOptions.d.ts +8 -0
- package/dist/types/src/client/manager.d.ts +15 -0
- package/dist/types/src/client/pro.d.ts +9 -0
- package/dist/types/src/client/queue/addBatcher.d.ts +59 -0
- package/dist/types/src/client/queue/bullmqCompat.d.ts +57 -0
- package/dist/types/src/client/queue/deduplication.d.ts +14 -0
- package/dist/types/src/client/queue/dlq.d.ts +61 -0
- package/dist/types/src/client/queue/dlqJobMethods.d.ts +9 -0
- package/dist/types/src/client/queue/dlqOps.d.ts +26 -0
- package/dist/types/src/client/queue/dlqStats.d.ts +3 -0
- package/dist/types/src/client/queue/failWire.d.ts +17 -0
- package/dist/types/src/client/queue/helpers.d.ts +19 -0
- package/dist/types/src/client/queue/job-proxy/dependencies.d.ts +9 -0
- package/dist/types/src/client/queue/job-proxy/reflection.d.ts +2 -0
- package/dist/types/src/client/queue/job-proxy/simple.d.ts +3 -0
- package/dist/types/src/client/queue/job-proxy/tcp.d.ts +4 -0
- package/dist/types/src/client/queue/jobMetadata.d.ts +10 -0
- package/dist/types/src/client/queue/jobMove.d.ts +32 -0
- package/dist/types/src/client/queue/jobProxy.d.ts +4 -0
- package/dist/types/src/client/queue/operations/add/bulk.d.ts +7 -0
- package/dist/types/src/client/queue/operations/add/payload.d.ts +25 -0
- package/dist/types/src/client/queue/operations/add/single.d.ts +3 -0
- package/dist/types/src/client/queue/operations/add.d.ts +2 -0
- package/dist/types/src/client/queue/operations/control.d.ts +42 -0
- package/dist/types/src/client/queue/operations/counts.d.ts +48 -0
- package/dist/types/src/client/queue/operations/groups.d.ts +24 -0
- package/dist/types/src/client/queue/operations/management.d.ts +51 -0
- package/dist/types/src/client/queue/operations/query.d.ts +50 -0
- package/dist/types/src/client/queue/operations/queryStates.d.ts +13 -0
- package/dist/types/src/client/queue/operations/queryTcpPages.d.ts +14 -0
- package/dist/types/src/client/queue/queue.d.ts +12 -0
- package/dist/types/src/client/queue/rateLimit.d.ts +46 -0
- package/dist/types/src/client/queue/runtime/compatibility.d.ts +13 -0
- package/dist/types/src/client/queue/runtime/configuration.d.ts +46 -0
- package/dist/types/src/client/queue/runtime/connection.d.ts +6 -0
- package/dist/types/src/client/queue/runtime/control.d.ts +41 -0
- package/dist/types/src/client/queue/runtime/queries.d.ts +66 -0
- package/dist/types/src/client/queue/runtime/scheduling.d.ts +33 -0
- package/dist/types/src/client/queue/runtime/state.d.ts +101 -0
- package/dist/types/src/client/queue/scheduler.d.ts +58 -0
- package/dist/types/src/client/queue/schedulerPagination.d.ts +7 -0
- package/dist/types/src/client/queue/stall.d.ts +20 -0
- package/dist/types/src/client/queue/types/add.d.ts +40 -0
- package/dist/types/src/client/queue/types/contexts.d.ts +33 -0
- package/dist/types/src/client/queue/types/index.d.ts +3 -0
- package/dist/types/src/client/queue/types/job.d.ts +50 -0
- package/dist/types/src/client/queue/types/runtime.d.ts +35 -0
- package/dist/types/src/client/queue/workers.d.ts +36 -0
- package/dist/types/src/client/queue-events/tcpSubscription.d.ts +23 -0
- package/dist/types/src/client/queue.d.ts +5 -0
- package/dist/types/src/client/queueGroup.d.ts +51 -0
- package/dist/types/src/client/resolveToken.d.ts +10 -0
- package/dist/types/src/client/sandboxed/index.d.ts +7 -0
- package/dist/types/src/client/sandboxed/queueOps.d.ts +24 -0
- package/dist/types/src/client/sandboxed/runtime/dispatch.d.ts +13 -0
- package/dist/types/src/client/sandboxed/runtime/lifecycle.d.ts +20 -0
- package/dist/types/src/client/sandboxed/runtime/log.d.ts +1 -0
- package/dist/types/src/client/sandboxed/runtime/pool.d.ts +11 -0
- package/dist/types/src/client/sandboxed/runtime/recovery.d.ts +11 -0
- package/dist/types/src/client/sandboxed/runtime/state.d.ts +39 -0
- package/dist/types/src/client/sandboxed/types/index.d.ts +2 -0
- package/dist/types/src/client/sandboxed/types/options.d.ts +27 -0
- package/dist/types/src/client/sandboxed/types/process.d.ts +39 -0
- package/dist/types/src/client/sandboxed/worker.d.ts +4 -0
- package/dist/types/src/client/sandboxed/wrapper.d.ts +12 -0
- package/dist/types/src/client/sandboxedWorker.d.ts +6 -0
- package/dist/types/src/client/tcp/client.d.ts +6 -0
- package/dist/types/src/client/tcp/commandQueue.d.ts +23 -0
- package/dist/types/src/client/tcp/connection.d.ts +4 -0
- package/dist/types/src/client/tcp/errors.d.ts +6 -0
- package/dist/types/src/client/tcp/health.d.ts +60 -0
- package/dist/types/src/client/tcp/index.d.ts +11 -0
- package/dist/types/src/client/tcp/reconnect.d.ts +47 -0
- package/dist/types/src/client/tcp/runtime/commands.d.ts +9 -0
- package/dist/types/src/client/tcp/runtime/connectivity.d.ts +13 -0
- package/dist/types/src/client/tcp/runtime/health.d.ts +14 -0
- package/dist/types/src/client/tcp/runtime/lifecycle.d.ts +8 -0
- package/dist/types/src/client/tcp/runtime/state.d.ts +50 -0
- package/dist/types/src/client/tcp/shared.d.ts +12 -0
- package/dist/types/src/client/tcp/transport.d.ts +18 -0
- package/dist/types/src/client/tcp/types/command.d.ts +9 -0
- package/dist/types/src/client/tcp/types/connection.d.ts +31 -0
- package/dist/types/src/client/tcp/types/index.d.ts +5 -0
- package/dist/types/src/client/tcp/types/socket.d.ts +8 -0
- package/dist/types/src/client/tcp/types/tls.d.ts +4 -0
- package/dist/types/src/client/tcp/types.d.ts +2 -0
- package/dist/types/src/client/tcpClient.d.ts +6 -0
- package/dist/types/src/client/tcpPool.d.ts +69 -0
- package/dist/types/src/client/types/connection.d.ts +30 -0
- package/dist/types/src/client/types/dlq.d.ts +45 -0
- package/dist/types/src/client/types/events.d.ts +54 -0
- package/dist/types/src/client/types/flow.d.ts +22 -0
- package/dist/types/src/client/types/index.d.ts +10 -0
- package/dist/types/src/client/types/job.d.ts +131 -0
- package/dist/types/src/client/types/metrics.d.ts +1 -0
- package/dist/types/src/client/types/options.d.ts +70 -0
- package/dist/types/src/client/types/worker.d.ts +54 -0
- package/dist/types/src/client/types.d.ts +2 -0
- package/dist/types/src/client/worker/ackBatcher.d.ts +55 -0
- package/dist/types/src/client/worker/ackFrontier.d.ts +21 -0
- package/dist/types/src/client/worker/ackOutcome.d.ts +8 -0
- package/dist/types/src/client/worker/batchExecution.d.ts +14 -0
- package/dist/types/src/client/worker/constants.d.ts +7 -0
- package/dist/types/src/client/worker/groupConcurrency.d.ts +49 -0
- package/dist/types/src/client/worker/handlers/completion.d.ts +29 -0
- package/dist/types/src/client/worker/handlers/dependencies.d.ts +11 -0
- package/dist/types/src/client/worker/handlers/mutations.d.ts +23 -0
- package/dist/types/src/client/worker/handlers/queries.d.ts +15 -0
- package/dist/types/src/client/worker/jobParser.d.ts +9 -0
- package/dist/types/src/client/worker/processor.d.ts +11 -0
- package/dist/types/src/client/worker/processorHandlers.d.ts +4 -0
- package/dist/types/src/client/worker/processorOutcome.d.ts +14 -0
- package/dist/types/src/client/worker/processorResult.d.ts +2 -0
- package/dist/types/src/client/worker/runtime/buffer.d.ts +8 -0
- package/dist/types/src/client/worker/runtime/control.d.ts +28 -0
- package/dist/types/src/client/worker/runtime/execution.d.ts +16 -0
- package/dist/types/src/client/worker/runtime/lifecycle.d.ts +7 -0
- package/dist/types/src/client/worker/runtime/manual.d.ts +10 -0
- package/dist/types/src/client/worker/runtime/options.d.ts +5 -0
- package/dist/types/src/client/worker/runtime/polling.d.ts +14 -0
- package/dist/types/src/client/worker/runtime/state.d.ts +121 -0
- package/dist/types/src/client/worker/types/index.d.ts +5 -0
- package/dist/types/src/client/worker/types/manual.d.ts +7 -0
- package/dist/types/src/client/worker/types/options.d.ts +26 -0
- package/dist/types/src/client/worker/types/outcome.d.ts +23 -0
- package/dist/types/src/client/worker/types/processor.d.ts +25 -0
- package/dist/types/src/client/worker/types/transport.d.ts +11 -0
- package/dist/types/src/client/worker/worker.d.ts +6 -0
- package/dist/types/src/client/worker/workerHeartbeat.d.ts +15 -0
- package/dist/types/src/client/worker/workerPull.d.ts +24 -0
- package/dist/types/src/client/worker/workerRateLimiter.d.ts +51 -0
- package/dist/types/src/client/worker.d.ts +6 -0
- package/dist/types/src/client/workflow/admission.d.ts +45 -0
- package/dist/types/src/client/workflow/clock.d.ts +60 -0
- package/dist/types/src/client/workflow/compensationChild.d.ts +33 -0
- package/dist/types/src/client/workflow/compensationClaim.d.ts +11 -0
- package/dist/types/src/client/workflow/compensationPass.d.ts +17 -0
- package/dist/types/src/client/workflow/compensationSupport.d.ts +24 -0
- package/dist/types/src/client/workflow/compensator.d.ts +34 -0
- package/dist/types/src/client/workflow/definitionGuard.d.ts +11 -0
- package/dist/types/src/client/workflow/emitter.d.ts +17 -0
- package/dist/types/src/client/workflow/engine.d.ts +66 -0
- package/dist/types/src/client/workflow/eventTypes.d.ts +44 -0
- package/dist/types/src/client/workflow/executionFence.d.ts +15 -0
- package/dist/types/src/client/workflow/executionTypes.d.ts +133 -0
- package/dist/types/src/client/workflow/executor.d.ts +52 -0
- package/dist/types/src/client/workflow/executorLifecycle.d.ts +19 -0
- package/dist/types/src/client/workflow/executorNodes.d.ts +18 -0
- package/dist/types/src/client/workflow/executorQueue.d.ts +9 -0
- package/dist/types/src/client/workflow/forEachRunner.d.ts +4 -0
- package/dist/types/src/client/workflow/identity.d.ts +48 -0
- package/dist/types/src/client/workflow/index.d.ts +23 -0
- package/dist/types/src/client/workflow/loops.d.ts +11 -0
- package/dist/types/src/client/workflow/mapRunner.d.ts +4 -0
- package/dist/types/src/client/workflow/recovery.d.ts +32 -0
- package/dist/types/src/client/workflow/rollbackControl.d.ts +37 -0
- package/dist/types/src/client/workflow/runner.d.ts +23 -0
- package/dist/types/src/client/workflow/runnerTiming.d.ts +14 -0
- package/dist/types/src/client/workflow/stepTypes.d.ts +171 -0
- package/dist/types/src/client/workflow/store.d.ts +83 -0
- package/dist/types/src/client/workflow/storeCodec.d.ts +7 -0
- package/dist/types/src/client/workflow/storeExecutionCodec.d.ts +11 -0
- package/dist/types/src/client/workflow/storeListing.d.ts +11 -0
- package/dist/types/src/client/workflow/storeMaintenance.d.ts +4 -0
- package/dist/types/src/client/workflow/storeSignals.d.ts +70 -0
- package/dist/types/src/client/workflow/subWorkflowRunner.d.ts +14 -0
- package/dist/types/src/client/workflow/types.d.ts +4 -0
- package/dist/types/src/client/workflow/unwindPlan.d.ts +87 -0
- package/dist/types/src/client/workflow/waitFor.d.ts +56 -0
- package/dist/types/src/client/workflow/workflow.d.ts +70 -0
- package/dist/types/src/client/workflow/workflowDecisions.d.ts +11 -0
- package/dist/types/src/client/workflow/workflowDefinition.d.ts +16 -0
- package/dist/types/src/client/workflow/workflowIntrospection.d.ts +5 -0
- package/dist/types/src/client/workflow/workflowValidation.d.ts +44 -0
- package/dist/types/src/config/index.d.ts +9 -0
- package/dist/types/src/config/loader.d.ts +7 -0
- package/dist/types/src/config/resolve.d.ts +59 -0
- package/dist/types/src/config/types.d.ts +88 -0
- package/dist/types/src/domain/job/constants.d.ts +12 -0
- package/dist/types/src/domain/job/create.d.ts +2 -0
- package/dist/types/src/domain/job/groupFifoOrder.d.ts +9 -0
- package/dist/types/src/domain/job/ids.d.ts +7 -0
- package/dist/types/src/domain/job/locks.d.ts +4 -0
- package/dist/types/src/domain/job/payload.d.ts +18 -0
- package/dist/types/src/domain/job/state.d.ts +8 -0
- package/dist/types/src/domain/job/terminal.d.ts +3 -0
- package/dist/types/src/domain/queue/dependencyTracker.d.ts +78 -0
- package/dist/types/src/domain/queue/dlqShard.d.ts +66 -0
- package/dist/types/src/domain/queue/groupLimiterManager.d.ts +30 -0
- package/dist/types/src/domain/queue/groupScheduler.d.ts +31 -0
- package/dist/types/src/domain/queue/groupSchedulerOrder.d.ts +6 -0
- package/dist/types/src/domain/queue/limiterManager.d.ts +68 -0
- package/dist/types/src/domain/queue/priorityQueue.d.ts +54 -0
- package/dist/types/src/domain/queue/priorityQueueOrder.d.ts +3 -0
- package/dist/types/src/domain/queue/shard/dependencies.d.ts +11 -0
- package/dist/types/src/domain/queue/shard/dlq.d.ts +26 -0
- package/dist/types/src/domain/queue/shard/keys.d.ts +19 -0
- package/dist/types/src/domain/queue/shard/lifecycle.d.ts +10 -0
- package/dist/types/src/domain/queue/shard/limits.d.ts +47 -0
- package/dist/types/src/domain/queue/shard/metrics.d.ts +32 -0
- package/dist/types/src/domain/queue/shard/state.d.ts +40 -0
- package/dist/types/src/domain/queue/shard.d.ts +7 -0
- package/dist/types/src/domain/queue/shardCounters.d.ts +35 -0
- package/dist/types/src/domain/queue/temporalIndex.d.ts +24 -0
- package/dist/types/src/domain/queue/temporalManager.d.ts +72 -0
- package/dist/types/src/domain/queue/uniqueKeyManager.d.ts +33 -0
- package/dist/types/src/domain/queue/waiterManager.d.ts +18 -0
- package/dist/types/src/domain/response/builders.d.ts +15 -0
- package/dist/types/src/domain/types/command.d.ts +2 -0
- package/dist/types/src/domain/types/commands/base.d.ts +5 -0
- package/dist/types/src/domain/types/commands/core.d.ts +110 -0
- package/dist/types/src/domain/types/commands/cron.d.ts +36 -0
- package/dist/types/src/domain/types/commands/dashboard.d.ts +13 -0
- package/dist/types/src/domain/types/commands/dlq.d.ts +44 -0
- package/dist/types/src/domain/types/commands/extended.d.ts +63 -0
- package/dist/types/src/domain/types/commands/index.d.ts +12 -0
- package/dist/types/src/domain/types/commands/limits.d.ts +108 -0
- package/dist/types/src/domain/types/commands/management.d.ts +73 -0
- package/dist/types/src/domain/types/commands/monitoring.d.ts +49 -0
- package/dist/types/src/domain/types/commands/protocol.d.ts +20 -0
- package/dist/types/src/domain/types/commands/query.d.ts +46 -0
- package/dist/types/src/domain/types/commands/union.d.ts +13 -0
- package/dist/types/src/domain/types/commands/workers.d.ts +39 -0
- package/dist/types/src/domain/types/cron.d.ts +91 -0
- package/dist/types/src/domain/types/deduplication.d.ts +43 -0
- package/dist/types/src/domain/types/dlq.d.ts +136 -0
- package/dist/types/src/domain/types/flow.d.ts +25 -0
- package/dist/types/src/domain/types/group.d.ts +26 -0
- package/dist/types/src/domain/types/job.d.ts +8 -0
- package/dist/types/src/domain/types/jobs/model.d.ts +153 -0
- package/dist/types/src/domain/types/metrics.d.ts +16 -0
- package/dist/types/src/domain/types/priorityQueue.d.ts +13 -0
- package/dist/types/src/domain/types/protocol.d.ts +5 -0
- package/dist/types/src/domain/types/queue.d.ts +110 -0
- package/dist/types/src/domain/types/response.d.ts +3 -0
- package/dist/types/src/domain/types/responses/model.d.ts +152 -0
- package/dist/types/src/domain/types/shard.d.ts +4 -0
- package/dist/types/src/domain/types/stall.d.ts +48 -0
- package/dist/types/src/domain/types/webhook.d.ts +42 -0
- package/dist/types/src/domain/types/worker.d.ts +40 -0
- package/dist/types/src/infrastructure/backup/backupTelemetry.d.ts +30 -0
- package/dist/types/src/infrastructure/backup/s3BackupConfig.d.ts +80 -0
- package/dist/types/src/infrastructure/cloud/types/config.d.ts +18 -0
- package/dist/types/src/infrastructure/cloud/types/event.d.ts +14 -0
- package/dist/types/src/infrastructure/cloud/types/snapshot.d.ts +52 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
- package/dist/types/src/infrastructure/cloud/types.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/batchInsert.d.ts +13 -0
- package/dist/types/src/infrastructure/persistence/completedJobCountSchema.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/dependencyCompletionSchema.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/dependencyCompletionStore.d.ts +40 -0
- package/dist/types/src/infrastructure/persistence/index.d.ts +5 -0
- package/dist/types/src/infrastructure/persistence/jobOptionsBlob.d.ts +19 -0
- package/dist/types/src/infrastructure/persistence/legacyNameMigration.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/migrationProgressSchema.d.ts +2 -0
- package/dist/types/src/infrastructure/persistence/migrations.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/schema.d.ts +8 -0
- package/dist/types/src/infrastructure/persistence/sqlite/admission.d.ts +9 -0
- package/dist/types/src/infrastructure/persistence/sqlite/completed.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/control.d.ts +48 -0
- package/dist/types/src/infrastructure/persistence/sqlite/flows.d.ts +26 -0
- package/dist/types/src/infrastructure/persistence/sqlite/jobLifecycle.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/jobs.d.ts +15 -0
- package/dist/types/src/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/sqlite/mutations.d.ts +27 -0
- package/dist/types/src/infrastructure/persistence/sqlite/queries.d.ts +23 -0
- package/dist/types/src/infrastructure/persistence/sqlite/queueDeletionSql.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/sqlite/records.d.ts +24 -0
- package/dist/types/src/infrastructure/persistence/sqlite/state.d.ts +42 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetry.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetryStore.d.ts +30 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetryWrites.d.ts +47 -0
- package/dist/types/src/infrastructure/persistence/sqlite.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/sqliteBatch.d.ts +4 -0
- package/dist/types/src/infrastructure/persistence/sqliteMigration.d.ts +5 -0
- package/dist/types/src/infrastructure/persistence/sqliteSerializer.d.ts +50 -0
- package/dist/types/src/infrastructure/persistence/statements.d.ts +86 -0
- package/dist/types/src/infrastructure/persistence/types/admission.d.ts +8 -0
- package/dist/types/src/infrastructure/persistence/types/batch.d.ts +12 -0
- package/dist/types/src/infrastructure/persistence/types/sqlite.d.ts +27 -0
- package/dist/types/src/infrastructure/persistence/writeBuffer.d.ts +48 -0
- package/dist/types/src/infrastructure/persistence/writeBufferPending.d.ts +11 -0
- package/dist/types/src/infrastructure/scheduler/cron/execution.d.ts +12 -0
- package/dist/types/src/infrastructure/scheduler/cron/persisted.d.ts +5 -0
- package/dist/types/src/infrastructure/scheduler/cron/runtime.d.ts +31 -0
- package/dist/types/src/infrastructure/scheduler/cron/validation.d.ts +3 -0
- package/dist/types/src/infrastructure/scheduler/cronParser.d.ts +45 -0
- package/dist/types/src/infrastructure/scheduler/cronScheduler.d.ts +5 -0
- package/dist/types/src/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
- package/dist/types/src/infrastructure/server/protocol/commands.d.ts +8 -0
- package/dist/types/src/infrastructure/server/protocol/frameParser.d.ts +16 -0
- package/dist/types/src/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
- package/dist/types/src/infrastructure/server/protocol/validation.d.ts +10 -0
- package/dist/types/src/infrastructure/server/protocol.d.ts +6 -0
- package/dist/types/src/infrastructure/server/socketWriteQueue.d.ts +66 -0
- package/dist/types/src/infrastructure/server/types/protocol.d.ts +4 -0
- package/dist/types/src/require-bun.d.ts +13 -0
- package/dist/types/src/shared/asyncLock.d.ts +13 -0
- package/dist/types/src/shared/boundedMap.d.ts +30 -0
- package/dist/types/src/shared/boundedSet.d.ts +26 -0
- package/dist/types/src/shared/hash.d.ts +30 -0
- package/dist/types/src/shared/histogram.d.ts +23 -0
- package/dist/types/src/shared/lock.d.ts +13 -0
- package/dist/types/src/shared/lockError.d.ts +3 -0
- package/dist/types/src/shared/lockTimeout.d.ts +2 -0
- package/dist/types/src/shared/logger.d.ts +48 -0
- package/dist/types/src/shared/lru.d.ts +9 -0
- package/dist/types/src/shared/lruMap.d.ts +42 -0
- package/dist/types/src/shared/lruSet.d.ts +36 -0
- package/dist/types/src/shared/minHeap.d.ts +43 -0
- package/dist/types/src/shared/msgpack.d.ts +3 -0
- package/dist/types/src/shared/pausedView.d.ts +19 -0
- package/dist/types/src/shared/rwLock.d.ts +22 -0
- package/dist/types/src/shared/serialization.d.ts +24 -0
- package/dist/types/src/shared/skipList.d.ts +97 -0
- package/dist/types/src/shared/skipListNodes.d.ts +6 -0
- package/dist/types/src/shared/storageHealth.d.ts +9 -0
- package/dist/types/src/shared/ttlMap.d.ts +81 -0
- package/dist/types/src/shared/types/lock.d.ts +7 -0
- package/dist/types/src/shared/types/skipList.d.ts +4 -0
- package/dist/types/src/shared/version.d.ts +4 -0
- package/dist/types/src/shared/webhookValidation.d.ts +6 -0
- package/package.json +27 -9
- package/src/ack-batcher.ts +8 -5
- package/src/bunqueue/bunqueue-api.ts +1 -1
- package/src/bunqueue/bunqueue.ts +2 -1
- package/src/canonical-transport/bun-sqlite-types.ts +22 -0
- package/src/canonical-transport/dlq.ts +12 -0
- package/src/canonical-transport/embedded.ts +55 -0
- package/src/canonical-transport/runtime.ts +49 -0
- package/src/canonical-transport/thread-worker.ts +83 -0
- package/src/canonical-transport/transport.ts +153 -0
- package/src/connection.ts +25 -30
- package/src/errors.ts +3 -0
- package/src/flow-commit.ts +45 -0
- package/src/flow-plan-legacy.ts +117 -0
- package/src/flow-plan.ts +209 -0
- package/src/flow-types.ts +4 -0
- package/src/flow.ts +31 -163
- package/src/frame.ts +5 -2
- package/src/index.ts +7 -75
- package/src/job.ts +43 -9
- package/src/legacy.ts +91 -0
- package/src/observability.ts +59 -1
- package/src/queue-admin.ts +5 -5
- package/src/queue-control.ts +8 -6
- package/src/queue.ts +10 -6
- package/src/serialization.ts +93 -0
- package/src/terminal-outcome.ts +58 -0
- package/src/types.ts +3 -6
- package/src/worker-base.ts +9 -6
- package/src/worker-slot-signal.ts +23 -0
- package/src/worker.ts +11 -5
- package/dist/backpressure.js +0 -39
- package/dist/bunqueue/aging.js +0 -53
- package/dist/bunqueue/batch.js +0 -60
- package/dist/bunqueue/bunqueue-api.js +0 -116
- package/dist/bunqueue/bunqueue.js +0 -194
- package/dist/bunqueue/cancellation.js +0 -48
- package/dist/bunqueue/circuit-breaker.js +0 -69
- package/dist/bunqueue/dedup-debounce.js +0 -37
- package/dist/bunqueue/dlq-rate-limit.js +0 -65
- package/dist/bunqueue/rate-gate.js +0 -61
- package/dist/bunqueue/retry.js +0 -56
- package/dist/bunqueue/triggers.js +0 -42
- package/dist/bunqueue/ttl.js +0 -31
- package/dist/bunqueue/types.js +0 -6
- package/dist/connection-pool.js +0 -60
- package/dist/connection-types.js +0 -2
- package/dist/connection.js +0 -281
- package/dist/errors.js +0 -25
- package/dist/flow-types.js +0 -2
- package/dist/flow.js +0 -212
- package/dist/job.js +0 -155
- package/dist/observability.js +0 -110
- package/dist/queue-admin.js +0 -158
- package/dist/queue-control.js +0 -107
- package/dist/queue-query.js +0 -187
- package/dist/queue.js +0 -92
- package/dist/responses.js +0 -10
- package/dist/socket-factory.js +0 -47
- package/dist/types.js +0 -50
- package/dist/worker-base.js +0 -159
- package/dist/worker-types.js +0 -5
- package/dist/worker.js +0 -211
- /package/dist/{backpressure.d.ts → types/sdk/typescript/src/backpressure.d.ts} +0 -0
- /package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/cancellation.d.ts +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DlqConfig, DlqEntry, DlqFilter } from "../../types/dlq.js";
|
|
2
|
+
import { FailureReason } from "../../types/dlq.js";
|
|
3
|
+
import type { Job, JobId } from "../../types/job.js";
|
|
4
|
+
import type { StallConfig } from "../../types/stall.js";
|
|
5
|
+
import { ShardDependencies } from "./dependencies.js";
|
|
6
|
+
/** Dead-letter and stall configuration operations. */
|
|
7
|
+
export declare class ShardDlq extends ShardDependencies {
|
|
8
|
+
get dlq(): Map<string, DlqEntry[]>;
|
|
9
|
+
get dlqConfig(): Map<string, DlqConfig>;
|
|
10
|
+
get stallConfig(): Map<string, StallConfig>;
|
|
11
|
+
getDlqConfig(queue: string): DlqConfig;
|
|
12
|
+
setDlqConfig(queue: string, config: Partial<DlqConfig>): void;
|
|
13
|
+
getStallConfig(queue: string): StallConfig;
|
|
14
|
+
setStallConfig(queue: string, config: Partial<StallConfig>): void;
|
|
15
|
+
addToDlq(job: Job, reason?: FailureReason, error?: string | null): DlqEntry;
|
|
16
|
+
restoreDlqEntry(queue: string, entry: DlqEntry): void;
|
|
17
|
+
getDlqEntries(queue: string): DlqEntry[];
|
|
18
|
+
getDlq(queue: string, count?: number): Job[];
|
|
19
|
+
getDlqFiltered(queue: string, filter: DlqFilter): DlqEntry[];
|
|
20
|
+
removeFromDlq(queue: string, jobId: JobId): DlqEntry | null;
|
|
21
|
+
removeAllFromDlq(queue: string, jobId: JobId): DlqEntry[];
|
|
22
|
+
getAutoRetryEntries(queue: string, now?: number): DlqEntry[];
|
|
23
|
+
getExpiredEntries(queue: string, now?: number): DlqEntry[];
|
|
24
|
+
purgeExpired(queue: string, now?: number): number;
|
|
25
|
+
clearDlq(queue: string): number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { UniqueKeyEntry } from "../../types/deduplication.js";
|
|
2
|
+
import type { JobId } from "../../types/job.js";
|
|
3
|
+
import { ShardState } from "./state.js";
|
|
4
|
+
/** Deduplication keys and FIFO group ownership. */
|
|
5
|
+
export declare class ShardKeys extends ShardState {
|
|
6
|
+
isUniqueAvailable(queue: string, key: string): boolean;
|
|
7
|
+
getUniqueKeyEntry(queue: string, key: string): UniqueKeyEntry | null;
|
|
8
|
+
registerUniqueKey(queue: string, key: string, jobId: JobId): void;
|
|
9
|
+
registerUniqueKeyWithTtl(queue: string, key: string, jobId: JobId, ttl?: number): void;
|
|
10
|
+
extendUniqueKeyTtl(queue: string, key: string, ttl: number): boolean;
|
|
11
|
+
releaseUniqueKey(queue: string, key: string): boolean;
|
|
12
|
+
releaseUniqueKeyIfOwned(queue: string, key: string, ownerId: JobId): boolean;
|
|
13
|
+
cleanExpiredUniqueKeys(): number;
|
|
14
|
+
get uniqueKeys(): Map<string, Map<string, UniqueKeyEntry>>;
|
|
15
|
+
isGroupActive(queue: string, groupId: string): boolean;
|
|
16
|
+
activateGroup(queue: string, groupId: string): void;
|
|
17
|
+
releaseGroup(queue: string, groupId: string): void;
|
|
18
|
+
getGroupActiveCount(queue: string, groupId: string): number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { JobId } from "../../types/job.js";
|
|
2
|
+
import { ShardMetrics } from "./metrics.js";
|
|
3
|
+
/** Drain and obliterate transitions across all shard collaborators. */
|
|
4
|
+
export declare class ShardLifecycle extends ShardMetrics {
|
|
5
|
+
drain(queue: string): {
|
|
6
|
+
count: number;
|
|
7
|
+
jobIds: JobId[];
|
|
8
|
+
};
|
|
9
|
+
obliterate(queue: string): JobId[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Job, JobId } from "../../types/job.js";
|
|
2
|
+
import type { GroupPullOptions, GroupRateLimitOverride } from "../../types/group.js";
|
|
3
|
+
import type { GroupCandidate } from "../groupScheduler.js";
|
|
4
|
+
import type { QueueState } from "../../types/queue.js";
|
|
5
|
+
import { ShardKeys } from "./keys.js";
|
|
6
|
+
/** Queue rate, concurrency, and resource ownership operations. */
|
|
7
|
+
export declare class ShardLimits extends ShardKeys {
|
|
8
|
+
hasGroupScheduler(queue: string): boolean;
|
|
9
|
+
assignGroupFifoOrder(job: Job): void;
|
|
10
|
+
observeGroupFifoOrder(job: Job): void;
|
|
11
|
+
peekGroupCandidate(queue: string, now: number, options?: GroupPullOptions): GroupCandidate;
|
|
12
|
+
acquireGroup(queue: string, groupId: string, options?: GroupPullOptions, now?: number): boolean;
|
|
13
|
+
advanceGroup(queue: string, groupId: string): void;
|
|
14
|
+
getGroupJobsCount(queue: string, groupId: string): number;
|
|
15
|
+
getGroupsJobsCount(queue: string): number;
|
|
16
|
+
cleanExpiredGroupWindows(now: number): void;
|
|
17
|
+
clearEmptyGroupRuntime(queue: string): void;
|
|
18
|
+
setGroupRateLimit(queue: string, groupId: string, max: number, duration: number): void;
|
|
19
|
+
getGroupRateLimit(queue: string, groupId: string): GroupRateLimitOverride | null;
|
|
20
|
+
removeGroupRateLimit(queue: string, groupId: string): number;
|
|
21
|
+
getGroupRateLimitTtl(queue: string, groupId: string, maxJobs?: number): number;
|
|
22
|
+
setGroupConcurrency(queue: string, groupId: string, concurrency: number): void;
|
|
23
|
+
getGroupConcurrency(queue: string, groupId: string): number | null;
|
|
24
|
+
removeGroupConcurrency(queue: string, groupId: string): number;
|
|
25
|
+
pauseGroup(queue: string, groupId: string): boolean;
|
|
26
|
+
resumeGroup(queue: string, groupId: string): boolean;
|
|
27
|
+
isGroupPaused(queue: string, groupId: string): boolean;
|
|
28
|
+
rateLimitGroup(queue: string, groupId: string, duration: number): void;
|
|
29
|
+
setRateLimit(queue: string, limit: number, durationMs?: number, ttlMs?: number): void;
|
|
30
|
+
clearRateLimit(queue: string): void;
|
|
31
|
+
expireRateLimitIfNeeded(queue: string): void;
|
|
32
|
+
tryAcquireRateLimit(queue: string): boolean;
|
|
33
|
+
getRateLimit(queue: string): {
|
|
34
|
+
max: number;
|
|
35
|
+
duration: number;
|
|
36
|
+
} | null;
|
|
37
|
+
getRateLimitTtl(queue: string, maxJobs?: number): number;
|
|
38
|
+
setConcurrency(queue: string, limit: number): void;
|
|
39
|
+
clearConcurrency(queue: string): void;
|
|
40
|
+
tryAcquireConcurrency(queue: string): boolean;
|
|
41
|
+
releaseConcurrency(queue: string): void;
|
|
42
|
+
getConcurrency(queue: string): number | null;
|
|
43
|
+
isConcurrencyMaxed(queue: string): boolean;
|
|
44
|
+
get queueState(): Map<string, QueueState>;
|
|
45
|
+
clearQueueLimiters(queue: string): void;
|
|
46
|
+
releaseJobResources(queue: string, uniqueKey: string | null, groupId: string | null, ownerId?: JobId): void;
|
|
47
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { JobId } from "../../types/job.js";
|
|
2
|
+
import type { ShardStats } from "../shardCounters.js";
|
|
3
|
+
import { ShardDlq } from "./dlq.js";
|
|
4
|
+
/** Queue counts, running counters, and temporal-index operations. */
|
|
5
|
+
export declare class ShardMetrics extends ShardDlq {
|
|
6
|
+
getWaitingCount(queue: string): number;
|
|
7
|
+
getDlqCount(queue: string): number;
|
|
8
|
+
getCountsPerPriority(queue: string): Map<number, number>;
|
|
9
|
+
getStats(): ShardStats;
|
|
10
|
+
getInternalSizes(): {
|
|
11
|
+
delayedJobIds: number;
|
|
12
|
+
delayedHeap: number;
|
|
13
|
+
delayedRunAt: number;
|
|
14
|
+
temporalIndex: number;
|
|
15
|
+
waiters: number;
|
|
16
|
+
};
|
|
17
|
+
incrementQueued(jobId: JobId, isDelayed: boolean, createdAt?: number, queue?: string, runAt?: number): void;
|
|
18
|
+
decrementQueued(jobId: JobId): void;
|
|
19
|
+
promoteDelayed(jobId: JobId): void;
|
|
20
|
+
incrementDlq(): void;
|
|
21
|
+
decrementDlq(count?: number): void;
|
|
22
|
+
refreshDelayedCount(now: number): void;
|
|
23
|
+
resetQueuedCounters(): void;
|
|
24
|
+
resetDlqCounter(): void;
|
|
25
|
+
getOldJobs(queue: string, thresholdMs: number, limit: number): Array<{
|
|
26
|
+
jobId: JobId;
|
|
27
|
+
createdAt: number;
|
|
28
|
+
}>;
|
|
29
|
+
removeFromTemporalIndex(jobId: JobId): void;
|
|
30
|
+
clearTemporalIndexForQueue(queue: string): void;
|
|
31
|
+
cleanOrphanedTemporalEntries(): number;
|
|
32
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { QueueState } from "../../types/queue.js";
|
|
2
|
+
import type { ShardOptions } from "../../types/shard.js";
|
|
3
|
+
import { DependencyTracker } from "../dependencyTracker.js";
|
|
4
|
+
import { DlqShard } from "../dlqShard.js";
|
|
5
|
+
import { LimiterManager } from "../limiterManager.js";
|
|
6
|
+
import { IndexedPriorityQueue } from "../priorityQueue.js";
|
|
7
|
+
import { GroupLimiterManager } from "../groupLimiterManager.js";
|
|
8
|
+
import { GroupScheduler } from "../groupScheduler.js";
|
|
9
|
+
import { ShardCounters } from "../shardCounters.js";
|
|
10
|
+
import { TemporalManager } from "../temporalManager.js";
|
|
11
|
+
import { UniqueKeyManager } from "../uniqueKeyManager.js";
|
|
12
|
+
import { WaiterManager } from "../waiterManager.js";
|
|
13
|
+
/** Owns the collaborating shard managers and basic queue/waiter operations. */
|
|
14
|
+
export declare class ShardState {
|
|
15
|
+
readonly queues: Map<string, IndexedPriorityQueue>;
|
|
16
|
+
readonly activeGroups: Map<string, Set<string>>;
|
|
17
|
+
readonly activeGroupCounts: Map<string, Map<string, number>>;
|
|
18
|
+
protected readonly uniqueKeyManager: UniqueKeyManager;
|
|
19
|
+
protected readonly dlqManager: DlqShard;
|
|
20
|
+
protected readonly limiterManager: LimiterManager;
|
|
21
|
+
protected readonly groupLimiterManager: GroupLimiterManager;
|
|
22
|
+
protected readonly groupScheduler: GroupScheduler;
|
|
23
|
+
protected readonly dependencyTracker: DependencyTracker;
|
|
24
|
+
protected readonly temporalManager: TemporalManager;
|
|
25
|
+
protected readonly waiterManager: WaiterManager;
|
|
26
|
+
protected readonly counters: ShardCounters;
|
|
27
|
+
constructor(options?: ShardOptions);
|
|
28
|
+
notify(queue?: string): void;
|
|
29
|
+
notifyBatch(count: number): void;
|
|
30
|
+
notifyBatch(queue: string, count: number): void;
|
|
31
|
+
waitForJob(timeoutMs: number, signal?: AbortSignal): Promise<void>;
|
|
32
|
+
waitForJob(queue: string, timeoutMs: number, signal?: AbortSignal): Promise<void>;
|
|
33
|
+
getQueue(name: string): IndexedPriorityQueue;
|
|
34
|
+
getState(name: string): QueueState;
|
|
35
|
+
isPaused(name: string): boolean;
|
|
36
|
+
pause(name: string): void;
|
|
37
|
+
resume(name: string): void;
|
|
38
|
+
getQueueNames(): string[];
|
|
39
|
+
getConfiguredQueueNames(): string[];
|
|
40
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Public Shard façade. */
|
|
2
|
+
import { ShardLifecycle } from "./shard/lifecycle.js";
|
|
3
|
+
export type { ShardStats } from "./shardCounters.js";
|
|
4
|
+
export type { ShardOptions } from "../types/shard.js";
|
|
5
|
+
/** Shard behavior is composed from focused manager-delegation layers. */
|
|
6
|
+
export declare class Shard extends ShardLifecycle {
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ShardCounters - Running counters for O(1) stats retrieval
|
|
3
|
+
* Tracks queued, delayed, and DLQ job counts
|
|
4
|
+
*/
|
|
5
|
+
import type { JobId } from "../types/job.js";
|
|
6
|
+
import type { TemporalManager } from "./temporalManager.js";
|
|
7
|
+
/** Shard statistics counters for O(1) stats retrieval */
|
|
8
|
+
export interface ShardStats {
|
|
9
|
+
/** Total jobs in all queues (waiting + delayed) */
|
|
10
|
+
queuedJobs: number;
|
|
11
|
+
/** Jobs with runAt > now at time of push */
|
|
12
|
+
delayedJobs: number;
|
|
13
|
+
/** Total jobs in DLQ */
|
|
14
|
+
dlqJobs: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class ShardCounters {
|
|
17
|
+
private readonly temporalManager;
|
|
18
|
+
/** Running counters for O(1) stats */
|
|
19
|
+
private readonly stats;
|
|
20
|
+
constructor(temporalManager: TemporalManager);
|
|
21
|
+
getStats(): ShardStats;
|
|
22
|
+
incrementQueued(jobId: JobId, isDelayed: boolean, createdAt?: number, queue?: string, runAt?: number): void;
|
|
23
|
+
decrementQueued(jobId: JobId): void;
|
|
24
|
+
incrementDlq(): void;
|
|
25
|
+
decrementDlq(count?: number): void;
|
|
26
|
+
refreshDelayedCount(now: number): void;
|
|
27
|
+
resetQueuedCounters(): void;
|
|
28
|
+
resetDlqCounter(): void;
|
|
29
|
+
/** Adjust queuedJobs counter directly (for drain/obliterate) */
|
|
30
|
+
adjustQueued(delta: number): void;
|
|
31
|
+
/** Adjust dlqJobs counter directly (for obliterate) */
|
|
32
|
+
adjustDlq(delta: number): void;
|
|
33
|
+
/** Sync delayedJobs to the temporal manager's actual count */
|
|
34
|
+
syncDelayedCount(): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { JobId } from "../types/job.js";
|
|
2
|
+
export interface TemporalEntry {
|
|
3
|
+
createdAt: number;
|
|
4
|
+
jobId: JobId;
|
|
5
|
+
queue: string;
|
|
6
|
+
}
|
|
7
|
+
/** Queue-local temporal indexes with direct lookup by job ID. */
|
|
8
|
+
export declare class TemporalIndex {
|
|
9
|
+
private readonly indexesByQueue;
|
|
10
|
+
private readonly entriesByJobId;
|
|
11
|
+
private entryCount;
|
|
12
|
+
get size(): number;
|
|
13
|
+
add(createdAt: number, jobId: JobId, queue: string): void;
|
|
14
|
+
getOldJobs(queue: string, threshold: number, limit: number): Array<{
|
|
15
|
+
jobId: JobId;
|
|
16
|
+
createdAt: number;
|
|
17
|
+
}>;
|
|
18
|
+
remove(jobId: JobId): void;
|
|
19
|
+
clearQueue(queue: string): void;
|
|
20
|
+
cleanOrphaned(validJobIds: Set<JobId>): number;
|
|
21
|
+
clear(): void;
|
|
22
|
+
private removeFromQueueIndex;
|
|
23
|
+
private detachJobEntry;
|
|
24
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TemporalManager - Manages temporal index and delayed job tracking
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - Temporal index (SkipList) for efficient cleanQueue range queries
|
|
6
|
+
* - Delayed heap (MinHeap) for O(k) delayed job refresh
|
|
7
|
+
*/
|
|
8
|
+
import type { JobId } from "../types/job.js";
|
|
9
|
+
export type { TemporalEntry } from "./temporalIndex.js";
|
|
10
|
+
/**
|
|
11
|
+
* Manages temporal indexing for efficient job cleanup
|
|
12
|
+
* and delayed job tracking for O(k) refresh
|
|
13
|
+
*/
|
|
14
|
+
export declare class TemporalManager {
|
|
15
|
+
private readonly temporalIndex;
|
|
16
|
+
/** Set of delayed job IDs for tracking when they become ready */
|
|
17
|
+
private readonly delayedJobIds;
|
|
18
|
+
/**
|
|
19
|
+
* Min-heap of delayed jobs ordered by runAt for O(k) refresh
|
|
20
|
+
* Instead of O(n × queues) iteration
|
|
21
|
+
*/
|
|
22
|
+
private readonly delayedHeap;
|
|
23
|
+
/** Map from jobId to current runAt for stale detection in delayedHeap */
|
|
24
|
+
private readonly delayedRunAt;
|
|
25
|
+
/** Add job to temporal index - O(log n) */
|
|
26
|
+
addToIndex(createdAt: number, jobId: JobId, queue: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get old jobs from temporal index - O(log n + k)
|
|
29
|
+
* Returns jobs older than threshold, up to limit
|
|
30
|
+
*/
|
|
31
|
+
getOldJobs(queue: string, thresholdMs: number, limit: number): Array<{
|
|
32
|
+
jobId: JobId;
|
|
33
|
+
createdAt: number;
|
|
34
|
+
}>;
|
|
35
|
+
/** Remove job from temporal index */
|
|
36
|
+
removeFromIndex(jobId: JobId): void;
|
|
37
|
+
/** Clear temporal index for a queue */
|
|
38
|
+
clearIndexForQueue(queue: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Clean orphaned temporal index entries.
|
|
41
|
+
* Removes entries for jobs that no longer exist.
|
|
42
|
+
*/
|
|
43
|
+
cleanOrphaned(validJobIds: Set<JobId>): number;
|
|
44
|
+
/** Get temporal index size */
|
|
45
|
+
get indexSize(): number;
|
|
46
|
+
/** Check if job is delayed */
|
|
47
|
+
isDelayed(jobId: JobId): boolean;
|
|
48
|
+
/** Add a delayed job */
|
|
49
|
+
addDelayed(jobId: JobId, runAt: number): void;
|
|
50
|
+
/** Remove a delayed job (lazy removal from heap) */
|
|
51
|
+
removeDelayed(jobId: JobId): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Refresh delayed jobs that have become ready
|
|
54
|
+
* O(k) where k = jobs that became ready
|
|
55
|
+
* Returns number of jobs that became ready
|
|
56
|
+
*/
|
|
57
|
+
refreshDelayed(now: number): number;
|
|
58
|
+
private maybeCompactDelayedHeap;
|
|
59
|
+
/** Get delayed job count */
|
|
60
|
+
get delayedCount(): number;
|
|
61
|
+
/** Clear all delayed tracking */
|
|
62
|
+
clearDelayed(): void;
|
|
63
|
+
/** Clear all data */
|
|
64
|
+
clear(): void;
|
|
65
|
+
/** Get internal structure sizes for memory debugging */
|
|
66
|
+
getSizes(): {
|
|
67
|
+
delayedJobIds: number;
|
|
68
|
+
delayedHeap: number;
|
|
69
|
+
delayedRunAt: number;
|
|
70
|
+
temporalIndex: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UniqueKeyManager - Handles job deduplication with TTL support
|
|
3
|
+
*/
|
|
4
|
+
import type { JobId } from "../types/job.js";
|
|
5
|
+
import type { UniqueKeyEntry } from "../types/deduplication.js";
|
|
6
|
+
/**
|
|
7
|
+
* Manages unique keys per queue for job deduplication
|
|
8
|
+
* Supports TTL-based expiration
|
|
9
|
+
*/
|
|
10
|
+
export declare class UniqueKeyManager {
|
|
11
|
+
/** Unique keys per queue (queue -> key -> entry) */
|
|
12
|
+
private readonly keys;
|
|
13
|
+
/** Check if unique key is available (not registered or expired) */
|
|
14
|
+
isAvailable(queue: string, key: string): boolean;
|
|
15
|
+
/** Get unique key entry (returns null if not found or expired) */
|
|
16
|
+
getEntry(queue: string, key: string): UniqueKeyEntry | null;
|
|
17
|
+
/** Register unique key (legacy method without TTL) */
|
|
18
|
+
register(queue: string, key: string, jobId: JobId): void;
|
|
19
|
+
/** Register unique key with TTL support */
|
|
20
|
+
registerWithTtl(queue: string, key: string, jobId: JobId, ttl?: number): void;
|
|
21
|
+
/** Extend TTL for an existing unique key */
|
|
22
|
+
extendTtl(queue: string, key: string, ttl: number): boolean;
|
|
23
|
+
/** Release unique key */
|
|
24
|
+
release(queue: string, key: string): boolean;
|
|
25
|
+
/** Release a key only when it is still owned by the given job. */
|
|
26
|
+
releaseIfOwned(queue: string, key: string, ownerId: JobId): boolean;
|
|
27
|
+
/** Clean expired unique keys (call periodically) */
|
|
28
|
+
cleanExpired(): number;
|
|
29
|
+
/** Clear all keys for a queue */
|
|
30
|
+
clearQueue(queue: string): void;
|
|
31
|
+
/** Get the underlying map (for backward compatibility) */
|
|
32
|
+
getMap(): Map<string, Map<string, UniqueKeyEntry>>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WaiterManager - Manages queue-scoped job availability notifications.
|
|
3
|
+
* Handles worker polling with timeout-based waiting.
|
|
4
|
+
*/
|
|
5
|
+
export declare class WaiterManager {
|
|
6
|
+
private readonly queues;
|
|
7
|
+
private activeWaiters;
|
|
8
|
+
notify(queue?: string): void;
|
|
9
|
+
notifyBatch(count: number): void;
|
|
10
|
+
notifyBatch(queue: string, count: number): void;
|
|
11
|
+
waitForJob(timeoutMs: number, signal?: AbortSignal): Promise<void>;
|
|
12
|
+
waitForJob(queue: string, timeoutMs: number, signal?: AbortSignal): Promise<void>;
|
|
13
|
+
private notifyQueue;
|
|
14
|
+
private createQueue;
|
|
15
|
+
private compact;
|
|
16
|
+
private deleteIdleQueue;
|
|
17
|
+
get length(): number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Job } from "../types/job.js";
|
|
2
|
+
import type { BatchResponse, DataResponse, ErrorResponse, HelloResponse, JobCounts, JobCountsResponse, JobResponse, JobsResponse, MetricsData, MetricsResponse, NullableJobResponse, OkResponse, ProtocolCapability, PulledJobResponse, PulledJobsResponse, StatsData, StatsResponse } from "../types/responses/model.js";
|
|
3
|
+
export declare function ok(id?: string, reqId?: string): OkResponse;
|
|
4
|
+
export declare function batch(ids: string[], reqId?: string): BatchResponse;
|
|
5
|
+
export declare function job(value: Job, reqId?: string): JobResponse;
|
|
6
|
+
export declare function nullableJob(value: Job | null, reqId?: string): NullableJobResponse;
|
|
7
|
+
export declare function pulledJob(value: Job | null, token: string | null, reqId?: string): PulledJobResponse;
|
|
8
|
+
export declare function pulledJobs(list: Job[], tokens: string[], reqId?: string): PulledJobsResponse;
|
|
9
|
+
export declare function jobs(list: Job[], reqId?: string): JobsResponse;
|
|
10
|
+
export declare function error(message: string, reqId?: string): ErrorResponse;
|
|
11
|
+
export declare function hello(protocolVersion: number, capabilities: ProtocolCapability[], server: string, version: string, reqId?: string): HelloResponse;
|
|
12
|
+
export declare function data<T>(payload: T, reqId?: string): DataResponse<T>;
|
|
13
|
+
export declare function counts(value: JobCounts, reqId?: string): JobCountsResponse;
|
|
14
|
+
export declare function stats(value: StatsData, reqId?: string): StatsResponse;
|
|
15
|
+
export declare function metrics(value: MetricsData, reqId?: string): MetricsResponse;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { AtomicFlowJobInput } from "../flow.js";
|
|
2
|
+
import type { JobInput } from "../job.js";
|
|
3
|
+
import type { GroupPullOptions } from "../group.js";
|
|
4
|
+
import type { BaseCommand } from "./base.js";
|
|
5
|
+
export interface PushCommand extends BaseCommand {
|
|
6
|
+
readonly cmd: 'PUSH';
|
|
7
|
+
readonly queue: string;
|
|
8
|
+
readonly name?: string;
|
|
9
|
+
readonly data: unknown;
|
|
10
|
+
readonly priority?: number;
|
|
11
|
+
readonly delay?: number;
|
|
12
|
+
readonly maxAttempts?: number;
|
|
13
|
+
readonly backoff?: number | {
|
|
14
|
+
type: 'fixed' | 'exponential';
|
|
15
|
+
delay: number;
|
|
16
|
+
};
|
|
17
|
+
readonly ttl?: number;
|
|
18
|
+
readonly timeout?: number;
|
|
19
|
+
readonly uniqueKey?: string;
|
|
20
|
+
readonly jobId?: string;
|
|
21
|
+
readonly dependsOn?: string[];
|
|
22
|
+
readonly childrenIds?: string[];
|
|
23
|
+
readonly parentId?: string;
|
|
24
|
+
readonly tags?: string[];
|
|
25
|
+
readonly groupId?: string;
|
|
26
|
+
readonly groupMaxSize?: number;
|
|
27
|
+
readonly lifo?: boolean;
|
|
28
|
+
readonly removeOnComplete?: boolean;
|
|
29
|
+
readonly removeOnFail?: boolean;
|
|
30
|
+
readonly durable?: boolean;
|
|
31
|
+
readonly repeat?: {
|
|
32
|
+
every?: number;
|
|
33
|
+
limit?: number;
|
|
34
|
+
pattern?: string;
|
|
35
|
+
count?: number;
|
|
36
|
+
startDate?: number;
|
|
37
|
+
endDate?: number;
|
|
38
|
+
tz?: string;
|
|
39
|
+
immediately?: boolean;
|
|
40
|
+
prevMillis?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
jobId?: string;
|
|
43
|
+
};
|
|
44
|
+
readonly failParentOnFailure?: boolean;
|
|
45
|
+
readonly removeDependencyOnFailure?: boolean;
|
|
46
|
+
readonly ignoreDependencyOnFailure?: boolean;
|
|
47
|
+
readonly continueParentOnFailure?: boolean;
|
|
48
|
+
readonly stallTimeout?: number;
|
|
49
|
+
readonly stackTraceLimit?: number;
|
|
50
|
+
readonly keepLogs?: number;
|
|
51
|
+
readonly sizeLimit?: number;
|
|
52
|
+
readonly dedup?: {
|
|
53
|
+
ttl?: number;
|
|
54
|
+
extend?: boolean;
|
|
55
|
+
replace?: boolean;
|
|
56
|
+
};
|
|
57
|
+
readonly debounceId?: string;
|
|
58
|
+
readonly debounceTtl?: number;
|
|
59
|
+
readonly timestamp?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface PushBatchCommand extends BaseCommand {
|
|
62
|
+
readonly cmd: 'PUSHB';
|
|
63
|
+
readonly queue: string;
|
|
64
|
+
readonly jobs: JobInput[];
|
|
65
|
+
}
|
|
66
|
+
export interface PushFlowCommand extends BaseCommand {
|
|
67
|
+
readonly cmd: 'PUSHF';
|
|
68
|
+
readonly jobs: AtomicFlowJobInput[];
|
|
69
|
+
}
|
|
70
|
+
export interface PullCommand extends BaseCommand {
|
|
71
|
+
readonly cmd: 'PULL';
|
|
72
|
+
readonly queue: string;
|
|
73
|
+
readonly timeout?: number;
|
|
74
|
+
readonly owner?: string;
|
|
75
|
+
readonly lockTtl?: number;
|
|
76
|
+
readonly detach?: boolean;
|
|
77
|
+
readonly group?: GroupPullOptions;
|
|
78
|
+
}
|
|
79
|
+
export interface PullBatchCommand extends BaseCommand {
|
|
80
|
+
readonly cmd: 'PULLB';
|
|
81
|
+
readonly queue: string;
|
|
82
|
+
readonly count: number;
|
|
83
|
+
readonly timeout?: number;
|
|
84
|
+
readonly owner?: string;
|
|
85
|
+
readonly lockTtl?: number;
|
|
86
|
+
readonly group?: GroupPullOptions;
|
|
87
|
+
}
|
|
88
|
+
export interface AckCommand extends BaseCommand {
|
|
89
|
+
readonly cmd: 'ACK';
|
|
90
|
+
readonly id: string;
|
|
91
|
+
readonly result?: unknown;
|
|
92
|
+
readonly token?: string;
|
|
93
|
+
readonly removeOnComplete?: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface AckBatchCommand extends BaseCommand {
|
|
96
|
+
readonly cmd: 'ACKB';
|
|
97
|
+
readonly ids: string[];
|
|
98
|
+
readonly results?: unknown[];
|
|
99
|
+
readonly tokens?: string[];
|
|
100
|
+
readonly removeOnCompletes?: Array<boolean | null>;
|
|
101
|
+
}
|
|
102
|
+
export interface FailCommand extends BaseCommand {
|
|
103
|
+
readonly cmd: 'FAIL';
|
|
104
|
+
readonly id: string;
|
|
105
|
+
readonly error?: string;
|
|
106
|
+
readonly token?: string;
|
|
107
|
+
readonly unrecoverable?: boolean;
|
|
108
|
+
readonly stack?: string[];
|
|
109
|
+
readonly removeOnFail?: boolean;
|
|
110
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CronJobOptions } from "../cron.js";
|
|
2
|
+
import type { BaseCommand } from "./base.js";
|
|
3
|
+
export interface CronCommand extends BaseCommand {
|
|
4
|
+
readonly cmd: 'Cron';
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly jobName?: string;
|
|
7
|
+
readonly queue: string;
|
|
8
|
+
readonly data: unknown;
|
|
9
|
+
readonly schedule?: string;
|
|
10
|
+
readonly repeatEvery?: number;
|
|
11
|
+
readonly priority?: number;
|
|
12
|
+
readonly maxLimit?: number;
|
|
13
|
+
readonly timezone?: string;
|
|
14
|
+
readonly uniqueKey?: string;
|
|
15
|
+
readonly dedup?: {
|
|
16
|
+
ttl?: number;
|
|
17
|
+
extend?: boolean;
|
|
18
|
+
replace?: boolean;
|
|
19
|
+
};
|
|
20
|
+
readonly skipMissedOnRestart?: boolean;
|
|
21
|
+
readonly immediately?: boolean;
|
|
22
|
+
readonly skipIfNoWorker?: boolean;
|
|
23
|
+
readonly preventOverlap?: boolean;
|
|
24
|
+
readonly jobOptions?: CronJobOptions;
|
|
25
|
+
}
|
|
26
|
+
export interface CronDeleteCommand extends BaseCommand {
|
|
27
|
+
readonly cmd: 'CronDelete';
|
|
28
|
+
readonly name: string;
|
|
29
|
+
}
|
|
30
|
+
export interface CronListCommand extends BaseCommand {
|
|
31
|
+
readonly cmd: 'CronList';
|
|
32
|
+
}
|
|
33
|
+
export interface CronGetCommand extends BaseCommand {
|
|
34
|
+
readonly cmd: 'CronGet';
|
|
35
|
+
readonly name: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
export interface DashboardOverviewCommand extends BaseCommand {
|
|
3
|
+
readonly cmd: 'DashboardOverview';
|
|
4
|
+
}
|
|
5
|
+
export interface DashboardQueuesCommand extends BaseCommand {
|
|
6
|
+
readonly cmd: 'DashboardQueues';
|
|
7
|
+
}
|
|
8
|
+
export interface DashboardQueueCommand extends BaseCommand {
|
|
9
|
+
readonly cmd: 'DashboardQueue';
|
|
10
|
+
readonly queue: string;
|
|
11
|
+
readonly includeJobs?: boolean;
|
|
12
|
+
readonly jobsLimit?: number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { DlqFilter } from "../dlq.js";
|
|
2
|
+
import type { BaseCommand } from "./base.js";
|
|
3
|
+
export interface DlqCommand extends BaseCommand {
|
|
4
|
+
readonly cmd: 'Dlq';
|
|
5
|
+
readonly queue: string;
|
|
6
|
+
readonly count?: number;
|
|
7
|
+
readonly filter?: DlqFilter;
|
|
8
|
+
}
|
|
9
|
+
export interface GetDlqStatsCommand extends BaseCommand {
|
|
10
|
+
readonly cmd: 'GetDlqStats';
|
|
11
|
+
readonly queue: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RetryDlqCommand extends BaseCommand {
|
|
14
|
+
readonly cmd: 'RetryDlq';
|
|
15
|
+
readonly queue: string;
|
|
16
|
+
readonly jobId?: string;
|
|
17
|
+
readonly count?: number;
|
|
18
|
+
readonly filter?: DlqFilter;
|
|
19
|
+
}
|
|
20
|
+
export interface PurgeDlqCommand extends BaseCommand {
|
|
21
|
+
readonly cmd: 'PurgeDlq';
|
|
22
|
+
readonly queue: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RemoveDlqJobCommand extends BaseCommand {
|
|
25
|
+
readonly cmd: 'RemoveDlqJob';
|
|
26
|
+
readonly queue: string;
|
|
27
|
+
readonly jobId: string;
|
|
28
|
+
}
|
|
29
|
+
export interface RetryCompletedCommand extends BaseCommand {
|
|
30
|
+
readonly cmd: 'RetryCompleted';
|
|
31
|
+
readonly queue: string;
|
|
32
|
+
readonly id?: string;
|
|
33
|
+
readonly count?: number;
|
|
34
|
+
readonly timestamp?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface SetDlqConfigCommand extends BaseCommand {
|
|
37
|
+
readonly cmd: 'SetDlqConfig';
|
|
38
|
+
readonly queue: string;
|
|
39
|
+
readonly config: Record<string, unknown>;
|
|
40
|
+
}
|
|
41
|
+
export interface GetDlqConfigCommand extends BaseCommand {
|
|
42
|
+
readonly cmd: 'GetDlqConfig';
|
|
43
|
+
readonly queue: string;
|
|
44
|
+
}
|