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,63 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
export interface ClearLogsCommand extends BaseCommand {
|
|
3
|
+
readonly cmd: 'ClearLogs';
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly keepLogs?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ExtendLockCommand extends BaseCommand {
|
|
8
|
+
readonly cmd: 'ExtendLock';
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly token?: string;
|
|
11
|
+
readonly duration: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ExtendLocksCommand extends BaseCommand {
|
|
14
|
+
readonly cmd: 'ExtendLocks';
|
|
15
|
+
readonly ids: string[];
|
|
16
|
+
readonly tokens: string[];
|
|
17
|
+
readonly durations: number[];
|
|
18
|
+
}
|
|
19
|
+
export interface ChangeDelayCommand extends BaseCommand {
|
|
20
|
+
readonly cmd: 'ChangeDelay';
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly delay: number;
|
|
23
|
+
readonly token?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface SetWebhookEnabledCommand extends BaseCommand {
|
|
26
|
+
readonly cmd: 'SetWebhookEnabled';
|
|
27
|
+
readonly id: string;
|
|
28
|
+
readonly enabled: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface CompactMemoryCommand extends BaseCommand {
|
|
31
|
+
readonly cmd: 'CompactMemory';
|
|
32
|
+
}
|
|
33
|
+
export interface UpdateParentCommand extends BaseCommand {
|
|
34
|
+
readonly cmd: 'UpdateParent';
|
|
35
|
+
readonly childId: string;
|
|
36
|
+
readonly parentId: string;
|
|
37
|
+
}
|
|
38
|
+
export interface GetFailedChildrenValuesCommand extends BaseCommand {
|
|
39
|
+
readonly cmd: 'GetFailedChildrenValues';
|
|
40
|
+
readonly id: string;
|
|
41
|
+
}
|
|
42
|
+
export interface GetIgnoredChildrenFailuresCommand extends BaseCommand {
|
|
43
|
+
readonly cmd: 'GetIgnoredChildrenFailures';
|
|
44
|
+
readonly id: string;
|
|
45
|
+
}
|
|
46
|
+
export interface RemoveChildDependencyCommand extends BaseCommand {
|
|
47
|
+
readonly cmd: 'RemoveChildDependency';
|
|
48
|
+
readonly id: string;
|
|
49
|
+
}
|
|
50
|
+
export interface RemoveUnprocessedChildrenCommand extends BaseCommand {
|
|
51
|
+
readonly cmd: 'RemoveUnprocessedChildren';
|
|
52
|
+
readonly id: string;
|
|
53
|
+
}
|
|
54
|
+
export interface MoveToWaitCommand extends BaseCommand {
|
|
55
|
+
readonly cmd: 'MoveToWait';
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly token?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface PromoteJobsCommand extends BaseCommand {
|
|
60
|
+
readonly cmd: 'PromoteJobs';
|
|
61
|
+
readonly queue: string;
|
|
62
|
+
readonly count?: number;
|
|
63
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from "./core.js";
|
|
2
|
+
export * from "./cron.js";
|
|
3
|
+
export * from "./dashboard.js";
|
|
4
|
+
export * from "./dlq.js";
|
|
5
|
+
export * from "./extended.js";
|
|
6
|
+
export * from "./limits.js";
|
|
7
|
+
export * from "./management.js";
|
|
8
|
+
export * from "./monitoring.js";
|
|
9
|
+
export * from "./protocol.js";
|
|
10
|
+
export * from "./query.js";
|
|
11
|
+
export * from "./union.js";
|
|
12
|
+
export * from "./workers.js";
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
export interface GetQueueLimitsCommand extends BaseCommand {
|
|
3
|
+
readonly cmd: 'GetQueueLimits';
|
|
4
|
+
readonly queue: string;
|
|
5
|
+
readonly maxJobs?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface GetDeduplicationJobIdCommand extends BaseCommand {
|
|
8
|
+
readonly cmd: 'GetDeduplicationJobId';
|
|
9
|
+
readonly queue: string;
|
|
10
|
+
readonly deduplicationId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RemoveDeduplicationKeyCommand extends BaseCommand {
|
|
13
|
+
readonly cmd: 'RemoveDeduplicationKey';
|
|
14
|
+
readonly queue: string;
|
|
15
|
+
readonly deduplicationId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RemoveJobDeduplicationKeyCommand extends BaseCommand {
|
|
18
|
+
readonly cmd: 'RemoveJobDeduplicationKey';
|
|
19
|
+
readonly id: string;
|
|
20
|
+
}
|
|
21
|
+
export interface MoveToWaitingChildrenCommand extends BaseCommand {
|
|
22
|
+
readonly cmd: 'MoveToWaitingChildren';
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly token?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface RateLimitCommand extends BaseCommand {
|
|
27
|
+
readonly cmd: 'RateLimit';
|
|
28
|
+
readonly queue: string;
|
|
29
|
+
readonly limit: number;
|
|
30
|
+
readonly duration?: number;
|
|
31
|
+
readonly ttl?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface SetConcurrencyCommand extends BaseCommand {
|
|
34
|
+
readonly cmd: 'SetConcurrency';
|
|
35
|
+
readonly queue: string;
|
|
36
|
+
readonly limit: number;
|
|
37
|
+
}
|
|
38
|
+
export interface RateLimitClearCommand extends BaseCommand {
|
|
39
|
+
readonly cmd: 'RateLimitClear';
|
|
40
|
+
readonly queue: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ClearConcurrencyCommand extends BaseCommand {
|
|
43
|
+
readonly cmd: 'ClearConcurrency';
|
|
44
|
+
readonly queue: string;
|
|
45
|
+
}
|
|
46
|
+
export interface SetStallConfigCommand extends BaseCommand {
|
|
47
|
+
readonly cmd: 'SetStallConfig';
|
|
48
|
+
readonly queue: string;
|
|
49
|
+
readonly config: Record<string, unknown>;
|
|
50
|
+
}
|
|
51
|
+
export interface GetStallConfigCommand extends BaseCommand {
|
|
52
|
+
readonly cmd: 'GetStallConfig';
|
|
53
|
+
readonly queue: string;
|
|
54
|
+
}
|
|
55
|
+
interface GroupCommand extends BaseCommand {
|
|
56
|
+
readonly queue: string;
|
|
57
|
+
readonly groupId: string;
|
|
58
|
+
}
|
|
59
|
+
export interface GetGroupJobsCountCommand extends GroupCommand {
|
|
60
|
+
readonly cmd: 'GetGroupJobsCount';
|
|
61
|
+
}
|
|
62
|
+
export interface GetGroupsJobsCountCommand extends BaseCommand {
|
|
63
|
+
readonly cmd: 'GetGroupsJobsCount';
|
|
64
|
+
readonly queue: string;
|
|
65
|
+
readonly maxCount?: number;
|
|
66
|
+
}
|
|
67
|
+
export interface GetGroupActiveCountCommand extends GroupCommand {
|
|
68
|
+
readonly cmd: 'GetGroupActiveCount';
|
|
69
|
+
}
|
|
70
|
+
export interface SetGroupRateLimitCommand extends GroupCommand {
|
|
71
|
+
readonly cmd: 'SetGroupRateLimit';
|
|
72
|
+
readonly max: number;
|
|
73
|
+
readonly duration: number;
|
|
74
|
+
}
|
|
75
|
+
export interface GetGroupRateLimitCommand extends GroupCommand {
|
|
76
|
+
readonly cmd: 'GetGroupRateLimit';
|
|
77
|
+
}
|
|
78
|
+
export interface RemoveGroupRateLimitCommand extends GroupCommand {
|
|
79
|
+
readonly cmd: 'RemoveGroupRateLimit';
|
|
80
|
+
}
|
|
81
|
+
export interface GetGroupRateLimitTtlCommand extends GroupCommand {
|
|
82
|
+
readonly cmd: 'GetGroupRateLimitTtl';
|
|
83
|
+
readonly maxJobs?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface SetGroupConcurrencyCommand extends GroupCommand {
|
|
86
|
+
readonly cmd: 'SetGroupConcurrency';
|
|
87
|
+
readonly concurrency: number;
|
|
88
|
+
}
|
|
89
|
+
export interface GetGroupConcurrencyCommand extends GroupCommand {
|
|
90
|
+
readonly cmd: 'GetGroupConcurrency';
|
|
91
|
+
}
|
|
92
|
+
export interface RemoveGroupConcurrencyCommand extends GroupCommand {
|
|
93
|
+
readonly cmd: 'RemoveGroupConcurrency';
|
|
94
|
+
}
|
|
95
|
+
export interface PauseGroupCommand extends GroupCommand {
|
|
96
|
+
readonly cmd: 'PauseGroup';
|
|
97
|
+
}
|
|
98
|
+
export interface ResumeGroupCommand extends GroupCommand {
|
|
99
|
+
readonly cmd: 'ResumeGroup';
|
|
100
|
+
}
|
|
101
|
+
export interface IsGroupPausedCommand extends GroupCommand {
|
|
102
|
+
readonly cmd: 'IsGroupPaused';
|
|
103
|
+
}
|
|
104
|
+
export interface RateLimitGroupCommand extends GroupCommand {
|
|
105
|
+
readonly cmd: 'RateLimitGroup';
|
|
106
|
+
readonly duration: number;
|
|
107
|
+
}
|
|
108
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { JobState } from "../job.js";
|
|
2
|
+
import type { BaseCommand } from "./base.js";
|
|
3
|
+
export interface CancelCommand extends BaseCommand {
|
|
4
|
+
readonly cmd: 'Cancel';
|
|
5
|
+
readonly id: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProgressCommand extends BaseCommand {
|
|
8
|
+
readonly cmd: 'Progress';
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly progress: number;
|
|
11
|
+
readonly message?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface UpdateCommand extends BaseCommand {
|
|
14
|
+
readonly cmd: 'Update';
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly data: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface ChangePriorityCommand extends BaseCommand {
|
|
19
|
+
readonly cmd: 'ChangePriority';
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly priority: number;
|
|
22
|
+
readonly lifo?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface PromoteCommand extends BaseCommand {
|
|
25
|
+
readonly cmd: 'Promote';
|
|
26
|
+
readonly id: string;
|
|
27
|
+
}
|
|
28
|
+
export interface WaitJobCommand extends BaseCommand {
|
|
29
|
+
readonly cmd: 'WaitJob';
|
|
30
|
+
readonly id: string;
|
|
31
|
+
readonly timeout?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface MoveToDelayedCommand extends BaseCommand {
|
|
34
|
+
readonly cmd: 'MoveToDelayed';
|
|
35
|
+
readonly id: string;
|
|
36
|
+
readonly delay: number;
|
|
37
|
+
readonly token?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface DiscardCommand extends BaseCommand {
|
|
40
|
+
readonly cmd: 'Discard';
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly token?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface PauseCommand extends BaseCommand {
|
|
45
|
+
readonly cmd: 'Pause';
|
|
46
|
+
readonly queue: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ResumeCommand extends BaseCommand {
|
|
49
|
+
readonly cmd: 'Resume';
|
|
50
|
+
readonly queue: string;
|
|
51
|
+
}
|
|
52
|
+
export interface IsPausedCommand extends BaseCommand {
|
|
53
|
+
readonly cmd: 'IsPaused';
|
|
54
|
+
readonly queue: string;
|
|
55
|
+
}
|
|
56
|
+
export interface DrainCommand extends BaseCommand {
|
|
57
|
+
readonly cmd: 'Drain';
|
|
58
|
+
readonly queue: string;
|
|
59
|
+
}
|
|
60
|
+
export interface ObliterateCommand extends BaseCommand {
|
|
61
|
+
readonly cmd: 'Obliterate';
|
|
62
|
+
readonly queue: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ListQueuesCommand extends BaseCommand {
|
|
65
|
+
readonly cmd: 'ListQueues';
|
|
66
|
+
}
|
|
67
|
+
export interface CleanCommand extends BaseCommand {
|
|
68
|
+
readonly cmd: 'Clean';
|
|
69
|
+
readonly queue: string;
|
|
70
|
+
readonly grace: number;
|
|
71
|
+
readonly state?: JobState;
|
|
72
|
+
readonly limit?: number;
|
|
73
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
export interface AddLogCommand extends BaseCommand {
|
|
3
|
+
readonly cmd: 'AddLog';
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly message: string;
|
|
6
|
+
readonly level?: 'info' | 'warn' | 'error';
|
|
7
|
+
}
|
|
8
|
+
export interface GetLogsCommand extends BaseCommand {
|
|
9
|
+
readonly cmd: 'GetLogs';
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly start?: number;
|
|
12
|
+
readonly end?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface AddWebhookCommand extends BaseCommand {
|
|
15
|
+
readonly cmd: 'AddWebhook';
|
|
16
|
+
readonly url: string;
|
|
17
|
+
readonly events: string[];
|
|
18
|
+
readonly queue?: string;
|
|
19
|
+
readonly secret?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface RemoveWebhookCommand extends BaseCommand {
|
|
22
|
+
readonly cmd: 'RemoveWebhook';
|
|
23
|
+
readonly webhookId: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ListWebhooksCommand extends BaseCommand {
|
|
26
|
+
readonly cmd: 'ListWebhooks';
|
|
27
|
+
}
|
|
28
|
+
export interface StatsCommand extends BaseCommand {
|
|
29
|
+
readonly cmd: 'Stats';
|
|
30
|
+
}
|
|
31
|
+
export interface MetricsCommand extends BaseCommand {
|
|
32
|
+
readonly cmd: 'Metrics';
|
|
33
|
+
/** Omitted fields retain the legacy broker-wide metrics response. */
|
|
34
|
+
readonly queue?: string;
|
|
35
|
+
readonly type?: 'completed' | 'failed';
|
|
36
|
+
readonly start?: number;
|
|
37
|
+
readonly end?: number;
|
|
38
|
+
}
|
|
39
|
+
export interface TrimEventsCommand extends BaseCommand {
|
|
40
|
+
readonly cmd: 'TrimEvents';
|
|
41
|
+
readonly queue: string;
|
|
42
|
+
readonly maxLength: number;
|
|
43
|
+
}
|
|
44
|
+
export interface PrometheusCommand extends BaseCommand {
|
|
45
|
+
readonly cmd: 'Prometheus';
|
|
46
|
+
}
|
|
47
|
+
export interface StorageStatusCommand extends BaseCommand {
|
|
48
|
+
readonly cmd: 'StorageStatus';
|
|
49
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
import type { ProtocolCapability } from "../protocol.js";
|
|
3
|
+
export interface AuthCommand extends BaseCommand {
|
|
4
|
+
readonly cmd: 'Auth';
|
|
5
|
+
readonly token: string;
|
|
6
|
+
}
|
|
7
|
+
export interface HelloCommand extends BaseCommand {
|
|
8
|
+
readonly cmd: 'Hello';
|
|
9
|
+
readonly protocolVersion: number;
|
|
10
|
+
readonly capabilities?: ProtocolCapability[];
|
|
11
|
+
}
|
|
12
|
+
/** Subscribe this TCP connection to one queue's lifecycle event stream. */
|
|
13
|
+
export interface SubscribeEventsCommand extends BaseCommand {
|
|
14
|
+
readonly cmd: 'SubscribeEvents';
|
|
15
|
+
readonly queue: string;
|
|
16
|
+
}
|
|
17
|
+
/** Remove the lifecycle event subscription owned by this TCP connection. */
|
|
18
|
+
export interface UnsubscribeEventsCommand extends BaseCommand {
|
|
19
|
+
readonly cmd: 'UnsubscribeEvents';
|
|
20
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { JobState } from "../job.js";
|
|
2
|
+
import type { BaseCommand } from "./base.js";
|
|
3
|
+
export interface GetJobCommand extends BaseCommand {
|
|
4
|
+
readonly cmd: 'GetJob';
|
|
5
|
+
readonly id: string;
|
|
6
|
+
}
|
|
7
|
+
export interface GetStateCommand extends BaseCommand {
|
|
8
|
+
readonly cmd: 'GetState';
|
|
9
|
+
readonly id: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GetResultCommand extends BaseCommand {
|
|
12
|
+
readonly cmd: 'GetResult';
|
|
13
|
+
readonly id: string;
|
|
14
|
+
}
|
|
15
|
+
export interface GetJobsCommand extends BaseCommand {
|
|
16
|
+
readonly cmd: 'GetJobs';
|
|
17
|
+
readonly queue: string;
|
|
18
|
+
readonly state?: JobState | JobState[];
|
|
19
|
+
readonly limit?: number;
|
|
20
|
+
readonly offset?: number;
|
|
21
|
+
readonly asc?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface GetJobCountsCommand extends BaseCommand {
|
|
24
|
+
readonly cmd: 'GetJobCounts';
|
|
25
|
+
readonly queue: string;
|
|
26
|
+
}
|
|
27
|
+
export interface GetCountsPerPriorityCommand extends BaseCommand {
|
|
28
|
+
readonly cmd: 'GetCountsPerPriority';
|
|
29
|
+
readonly queue: string;
|
|
30
|
+
}
|
|
31
|
+
export interface GetJobByCustomIdCommand extends BaseCommand {
|
|
32
|
+
readonly cmd: 'GetJobByCustomId';
|
|
33
|
+
readonly customId: string;
|
|
34
|
+
}
|
|
35
|
+
export interface CountCommand extends BaseCommand {
|
|
36
|
+
readonly cmd: 'Count';
|
|
37
|
+
readonly queue: string;
|
|
38
|
+
}
|
|
39
|
+
export interface GetProgressCommand extends BaseCommand {
|
|
40
|
+
readonly cmd: 'GetProgress';
|
|
41
|
+
readonly id: string;
|
|
42
|
+
}
|
|
43
|
+
export interface GetChildrenValuesCommand extends BaseCommand {
|
|
44
|
+
readonly cmd: 'GetChildrenValues';
|
|
45
|
+
readonly id: string;
|
|
46
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type * as Core from "./core.js";
|
|
2
|
+
import type * as Cron from "./cron.js";
|
|
3
|
+
import type * as Dashboard from "./dashboard.js";
|
|
4
|
+
import type * as Dlq from "./dlq.js";
|
|
5
|
+
import type * as Extended from "./extended.js";
|
|
6
|
+
import type * as Limits from "./limits.js";
|
|
7
|
+
import type * as Management from "./management.js";
|
|
8
|
+
import type * as Monitoring from "./monitoring.js";
|
|
9
|
+
import type * as Protocol from "./protocol.js";
|
|
10
|
+
import type * as Query from "./query.js";
|
|
11
|
+
import type * as Workers from "./workers.js";
|
|
12
|
+
export type Command = Core.PushCommand | Core.PushBatchCommand | Core.PushFlowCommand | Core.PullCommand | Core.PullBatchCommand | Core.AckCommand | Core.AckBatchCommand | Core.FailCommand | Query.GetJobCommand | Query.GetStateCommand | Query.GetResultCommand | Query.GetJobsCommand | Query.GetJobCountsCommand | Query.GetCountsPerPriorityCommand | Query.GetJobByCustomIdCommand | Query.CountCommand | Query.GetProgressCommand | Query.GetChildrenValuesCommand | Management.CancelCommand | Management.ProgressCommand | Management.UpdateCommand | Management.ChangePriorityCommand | Management.PromoteCommand | Management.WaitJobCommand | Management.MoveToDelayedCommand | Management.DiscardCommand | Management.PauseCommand | Management.ResumeCommand | Management.IsPausedCommand | Management.DrainCommand | Management.ObliterateCommand | Management.ListQueuesCommand | Management.CleanCommand | Dlq.DlqCommand | Dlq.GetDlqStatsCommand | Dlq.RetryDlqCommand | Dlq.PurgeDlqCommand | Dlq.RemoveDlqJobCommand | Dlq.RetryCompletedCommand | Dlq.SetDlqConfigCommand | Dlq.GetDlqConfigCommand | Limits.GetQueueLimitsCommand | Limits.GetDeduplicationJobIdCommand | Limits.RemoveDeduplicationKeyCommand | Limits.RemoveJobDeduplicationKeyCommand | Limits.MoveToWaitingChildrenCommand | Limits.RateLimitCommand | Limits.SetConcurrencyCommand | Limits.RateLimitClearCommand | Limits.ClearConcurrencyCommand | Limits.SetStallConfigCommand | Limits.GetStallConfigCommand | Limits.GetGroupJobsCountCommand | Limits.GetGroupsJobsCountCommand | Limits.GetGroupActiveCountCommand | Limits.SetGroupRateLimitCommand | Limits.GetGroupRateLimitCommand | Limits.RemoveGroupRateLimitCommand | Limits.GetGroupRateLimitTtlCommand | Limits.SetGroupConcurrencyCommand | Limits.GetGroupConcurrencyCommand | Limits.RemoveGroupConcurrencyCommand | Limits.PauseGroupCommand | Limits.ResumeGroupCommand | Limits.IsGroupPausedCommand | Limits.RateLimitGroupCommand | Cron.CronCommand | Cron.CronDeleteCommand | Cron.CronListCommand | Cron.CronGetCommand | Monitoring.AddLogCommand | Monitoring.GetLogsCommand | Monitoring.AddWebhookCommand | Monitoring.RemoveWebhookCommand | Monitoring.ListWebhooksCommand | Monitoring.StatsCommand | Monitoring.MetricsCommand | Monitoring.TrimEventsCommand | Monitoring.PrometheusCommand | Monitoring.StorageStatusCommand | Workers.HeartbeatCommand | Workers.JobHeartbeatCommand | Workers.JobHeartbeatBatchCommand | Workers.PingCommand | Workers.RegisterWorkerCommand | Workers.UnregisterWorkerCommand | Workers.ListWorkersCommand | Extended.ClearLogsCommand | Extended.ExtendLockCommand | Extended.ExtendLocksCommand | Extended.ChangeDelayCommand | Extended.SetWebhookEnabledCommand | Extended.CompactMemoryCommand | Extended.UpdateParentCommand | Extended.GetFailedChildrenValuesCommand | Extended.GetIgnoredChildrenFailuresCommand | Extended.RemoveChildDependencyCommand | Extended.RemoveUnprocessedChildrenCommand | Extended.MoveToWaitCommand | Extended.PromoteJobsCommand | Dashboard.DashboardOverviewCommand | Dashboard.DashboardQueuesCommand | Dashboard.DashboardQueueCommand | Protocol.AuthCommand | Protocol.HelloCommand | Protocol.SubscribeEventsCommand | Protocol.UnsubscribeEventsCommand;
|
|
13
|
+
export type CommandType = Command['cmd'];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BaseCommand } from "./base.js";
|
|
2
|
+
export interface HeartbeatCommand extends BaseCommand {
|
|
3
|
+
readonly cmd: 'Heartbeat';
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly activeJobs?: number;
|
|
6
|
+
readonly processed?: number;
|
|
7
|
+
readonly failed?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface JobHeartbeatCommand extends BaseCommand {
|
|
10
|
+
readonly cmd: 'JobHeartbeat';
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly token?: string;
|
|
13
|
+
readonly duration?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface JobHeartbeatBatchCommand extends BaseCommand {
|
|
16
|
+
readonly cmd: 'JobHeartbeatB';
|
|
17
|
+
readonly ids: string[];
|
|
18
|
+
readonly tokens?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface PingCommand extends BaseCommand {
|
|
21
|
+
readonly cmd: 'Ping';
|
|
22
|
+
}
|
|
23
|
+
export interface RegisterWorkerCommand extends BaseCommand {
|
|
24
|
+
readonly cmd: 'RegisterWorker';
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly queues: string[];
|
|
27
|
+
readonly concurrency?: number;
|
|
28
|
+
readonly workerId?: string;
|
|
29
|
+
readonly hostname?: string;
|
|
30
|
+
readonly pid?: number;
|
|
31
|
+
readonly startedAt?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface UnregisterWorkerCommand extends BaseCommand {
|
|
34
|
+
readonly cmd: 'UnregisterWorker';
|
|
35
|
+
readonly workerId: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ListWorkersCommand extends BaseCommand {
|
|
38
|
+
readonly cmd: 'ListWorkers';
|
|
39
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron job domain types
|
|
3
|
+
*/
|
|
4
|
+
/** Deduplication config for cron-spawned jobs */
|
|
5
|
+
export interface CronDedup {
|
|
6
|
+
readonly ttl?: number;
|
|
7
|
+
readonly extend?: boolean;
|
|
8
|
+
readonly replace?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Job options applied to every job spawned by a cron (issue #86).
|
|
12
|
+
* Mirrors the relevant subset of JobInput so retry/cleanup policy can be
|
|
13
|
+
* configured per-scheduler instead of always falling back to JOB_DEFAULTS.
|
|
14
|
+
*/
|
|
15
|
+
export interface CronJobOptions {
|
|
16
|
+
readonly maxAttempts?: number;
|
|
17
|
+
readonly backoff?: number | {
|
|
18
|
+
type: 'fixed' | 'exponential';
|
|
19
|
+
delay: number;
|
|
20
|
+
};
|
|
21
|
+
readonly timeout?: number;
|
|
22
|
+
readonly delay?: number;
|
|
23
|
+
readonly stallTimeout?: number;
|
|
24
|
+
readonly removeOnComplete?: boolean;
|
|
25
|
+
readonly removeOnFail?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** Cron job definition */
|
|
28
|
+
export interface CronJob {
|
|
29
|
+
readonly name: string;
|
|
30
|
+
readonly jobName: string;
|
|
31
|
+
readonly queue: string;
|
|
32
|
+
readonly data: unknown;
|
|
33
|
+
readonly schedule: string | null;
|
|
34
|
+
readonly repeatEvery: number | null;
|
|
35
|
+
readonly priority: number;
|
|
36
|
+
/** IANA timezone for cron schedule (e.g., "Europe/Rome", "America/New_York") */
|
|
37
|
+
readonly timezone: string | null;
|
|
38
|
+
nextRun: number;
|
|
39
|
+
executions: number;
|
|
40
|
+
readonly maxLimit: number | null;
|
|
41
|
+
/** Unique key for deduplication of cron-spawned jobs */
|
|
42
|
+
readonly uniqueKey: string | null;
|
|
43
|
+
/** Deduplication options for cron-spawned jobs */
|
|
44
|
+
readonly dedup: CronDedup | null;
|
|
45
|
+
/** Skip missed runs on restart instead of executing them (default: true) */
|
|
46
|
+
readonly skipMissedOnRestart: boolean;
|
|
47
|
+
/** Skip job push if no worker is registered for the queue (default: false) */
|
|
48
|
+
readonly skipIfNoWorker: boolean;
|
|
49
|
+
/** Prevent overlapping cron jobs via automatic dedup (default: true) */
|
|
50
|
+
readonly preventOverlap: boolean;
|
|
51
|
+
/** Job options applied to each spawned job (retry/cleanup policy, etc.) */
|
|
52
|
+
readonly jobOptions: CronJobOptions | null;
|
|
53
|
+
}
|
|
54
|
+
/** Input for creating a cron job */
|
|
55
|
+
export interface CronJobInput {
|
|
56
|
+
name: string;
|
|
57
|
+
jobName?: string;
|
|
58
|
+
queue: string;
|
|
59
|
+
data: unknown;
|
|
60
|
+
schedule?: string;
|
|
61
|
+
repeatEvery?: number;
|
|
62
|
+
priority?: number;
|
|
63
|
+
maxLimit?: number;
|
|
64
|
+
/** IANA timezone for cron schedule (e.g., "Europe/Rome", "America/New_York") */
|
|
65
|
+
timezone?: string;
|
|
66
|
+
/** Unique key for deduplication of cron-spawned jobs */
|
|
67
|
+
uniqueKey?: string;
|
|
68
|
+
/** Deduplication options for cron-spawned jobs */
|
|
69
|
+
dedup?: CronDedup;
|
|
70
|
+
/** Skip missed runs on restart instead of executing them (default: true) */
|
|
71
|
+
skipMissedOnRestart?: boolean;
|
|
72
|
+
/** Fire immediately on creation, then continue on schedule */
|
|
73
|
+
immediately?: boolean;
|
|
74
|
+
/** Skip job push if no worker is registered for the queue (default: false) */
|
|
75
|
+
skipIfNoWorker?: boolean;
|
|
76
|
+
/** Prevent overlapping cron jobs via automatic dedup (default: true) */
|
|
77
|
+
preventOverlap?: boolean;
|
|
78
|
+
/** Job options applied to each spawned job (retry/cleanup policy, etc.) */
|
|
79
|
+
jobOptions?: CronJobOptions;
|
|
80
|
+
}
|
|
81
|
+
/** Validate the calendar/interval timing fields before scheduler mutation. */
|
|
82
|
+
export declare function assertValidCronTiming(input: {
|
|
83
|
+
readonly schedule?: string | null;
|
|
84
|
+
readonly repeatEvery?: number | null;
|
|
85
|
+
}): void;
|
|
86
|
+
/** Create a new cron job */
|
|
87
|
+
export declare function createCronJob(input: CronJobInput, nextRun: number): CronJob;
|
|
88
|
+
/** Check if cron job has reached its execution limit */
|
|
89
|
+
export declare function isAtLimit(cron: CronJob): boolean;
|
|
90
|
+
/** Check if cron job is due to run */
|
|
91
|
+
export declare function isDue(cron: CronJob, now?: number): boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced Deduplication Types
|
|
3
|
+
* Supports TTL, extend, replace, and debounce strategies
|
|
4
|
+
*/
|
|
5
|
+
import type { JobId } from "./job.js";
|
|
6
|
+
/** Deduplication strategy when a duplicate is detected */
|
|
7
|
+
export type DeduplicationStrategy = 'reject' | 'extend' | 'replace';
|
|
8
|
+
/**
|
|
9
|
+
* Deduplication options for job creation
|
|
10
|
+
*/
|
|
11
|
+
export interface DeduplicationOptions {
|
|
12
|
+
/** Unique deduplication key (maps to job.uniqueKey) */
|
|
13
|
+
id: string;
|
|
14
|
+
/** TTL in milliseconds for the unique key (optional - no expiry if not set) */
|
|
15
|
+
ttl?: number;
|
|
16
|
+
/** When true, reset TTL on duplicate instead of rejecting */
|
|
17
|
+
extend?: boolean;
|
|
18
|
+
/** When true, replace job data on duplicate instead of rejecting */
|
|
19
|
+
replace?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Internal tracking entry for unique keys with TTL
|
|
23
|
+
*/
|
|
24
|
+
export interface UniqueKeyEntry {
|
|
25
|
+
/** The job ID that owns this unique key */
|
|
26
|
+
jobId: JobId;
|
|
27
|
+
/** When the unique key expires (null = never) */
|
|
28
|
+
expiresAt: number | null;
|
|
29
|
+
/** Original registration timestamp */
|
|
30
|
+
registeredAt: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Determine the deduplication strategy from options
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDeduplicationStrategy(opts: DeduplicationOptions): DeduplicationStrategy;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a unique key entry has expired
|
|
38
|
+
*/
|
|
39
|
+
export declare function isUniqueKeyExpired(entry: UniqueKeyEntry, now?: number): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Calculate expiration time from TTL
|
|
42
|
+
*/
|
|
43
|
+
export declare function calculateExpiration(ttl: number | undefined, now?: number): number | null;
|