bunqueue 2.8.54 → 2.8.56
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/dist/application/background/dlq.d.ts +2 -0
- package/dist/application/background/dlq.js +26 -0
- package/dist/application/background/lifecycle.d.ts +4 -0
- package/dist/application/background/lifecycle.js +90 -0
- package/dist/application/background/recovery/active.d.ts +4 -0
- package/dist/application/background/recovery/active.js +69 -0
- package/dist/application/background/recovery/index.d.ts +2 -0
- package/dist/application/background/recovery/index.js +22 -0
- package/dist/application/background/recovery/pending.d.ts +3 -0
- package/dist/application/background/recovery/pending.js +69 -0
- package/dist/application/background/recovery/restore.d.ts +5 -0
- package/dist/application/background/recovery/restore.js +58 -0
- package/dist/application/background/recovery/shared.d.ts +6 -0
- package/dist/application/background/recovery/shared.js +15 -0
- package/dist/application/background/timeouts.d.ts +25 -0
- package/dist/application/background/timeouts.js +191 -0
- package/dist/application/backgroundTasks.d.ts +7 -31
- package/dist/application/backgroundTasks.js +6 -442
- package/dist/application/cleanupTasks.js +1 -0
- package/dist/application/clientTracking.js +2 -0
- package/dist/application/contextFactory.d.ts +13 -90
- package/dist/application/contextFactory.js +8 -0
- package/dist/application/dependencyResultTracker.d.ts +1 -0
- package/dist/application/dependencyResultTracker.js +3 -0
- package/dist/application/dlqManager.d.ts +2 -8
- package/dist/application/dlqManager.js +33 -162
- package/dist/application/dlqRetry.d.ts +12 -0
- package/dist/application/dlqRetry.js +97 -0
- package/dist/application/lockManager.js +21 -1
- package/dist/application/lockOperations.js +16 -3
- package/dist/application/operations/ack/batch.d.ts +8 -0
- package/dist/application/operations/ack/batch.js +64 -0
- package/dist/application/operations/ack/completion.d.ts +3 -0
- package/dist/application/operations/ack/completion.js +74 -0
- package/dist/application/operations/ack/failure.d.ts +3 -0
- package/dist/application/operations/ack/failure.js +160 -0
- package/dist/application/operations/ack.d.ts +5 -79
- package/dist/application/operations/ack.js +4 -319
- package/dist/application/operations/ackHelpers.d.ts +3 -52
- package/dist/application/operations/ackHelpers.js +10 -3
- package/dist/application/operations/customId.d.ts +18 -5
- package/dist/application/operations/customId.js +36 -25
- package/dist/application/operations/flowValidation.js +9 -4
- package/dist/application/operations/jobManagement.js +44 -7
- package/dist/application/operations/parentLink.d.ts +36 -0
- package/dist/application/operations/parentLink.js +153 -0
- package/dist/application/operations/parentLinkInput.d.ts +8 -0
- package/dist/application/operations/parentLinkInput.js +23 -0
- package/dist/application/operations/push.d.ts +5 -44
- package/dist/application/operations/push.js +62 -152
- package/dist/application/operations/pushAdmission.d.ts +32 -0
- package/dist/application/operations/pushAdmission.js +38 -0
- package/dist/application/operations/pushBatch.d.ts +4 -0
- package/dist/application/operations/pushBatch.js +136 -0
- package/dist/application/operations/pushContext.d.ts +39 -0
- package/dist/application/operations/pushContext.js +1 -0
- package/dist/application/operations/pushDeduplication.d.ts +42 -0
- package/dist/application/operations/pushDeduplication.js +131 -0
- package/dist/application/operations/pushInsert.d.ts +13 -1
- package/dist/application/operations/pushInsert.js +33 -17
- package/dist/application/operations/pushLocks.js +13 -9
- package/dist/application/operations/query/collect.d.ts +12 -0
- package/dist/application/operations/query/collect.js +118 -0
- package/dist/application/operations/query/jobLookup.d.ts +9 -0
- package/dist/application/operations/query/jobLookup.js +110 -0
- package/dist/application/operations/query/pagination.d.ts +8 -0
- package/dist/application/operations/query/pagination.js +90 -0
- package/dist/application/operations/query/state.d.ts +4 -0
- package/dist/application/operations/query/state.js +63 -0
- package/dist/application/operations/queryOperations.d.ts +5 -50
- package/dist/application/operations/queryOperations.js +4 -474
- package/dist/application/queue-manager/ack.d.ts +23 -0
- package/dist/application/queue-manager/ack.js +242 -0
- package/dist/application/queue-manager/configuration.d.ts +27 -0
- package/dist/application/queue-manager/configuration.js +84 -0
- package/dist/application/queue-manager/context.d.ts +5 -0
- package/dist/application/queue-manager/context.js +61 -0
- package/dist/application/queue-manager/control.d.ts +17 -0
- package/dist/application/queue-manager/control.js +133 -0
- package/dist/application/queue-manager/delivery.d.ts +32 -0
- package/dist/application/queue-manager/delivery.js +143 -0
- package/dist/application/queue-manager/dependencies.d.ts +8 -0
- package/dist/application/queue-manager/dependencies.js +127 -0
- package/dist/application/queue-manager/dependency-runtime.d.ts +8 -0
- package/dist/application/queue-manager/dependency-runtime.js +40 -0
- package/dist/application/queue-manager/flow-failures.d.ts +18 -0
- package/dist/application/queue-manager/flow-failures.js +107 -0
- package/dist/application/queue-manager/flow-options.d.ts +8 -0
- package/dist/application/queue-manager/flow-options.js +129 -0
- package/dist/application/queue-manager/job-management.d.ts +17 -0
- package/dist/application/queue-manager/job-management.js +100 -0
- package/dist/application/queue-manager/lifecycle.d.ts +4 -0
- package/dist/application/queue-manager/lifecycle.js +41 -0
- package/dist/application/queue-manager/limits.d.ts +41 -0
- package/dist/application/queue-manager/limits.js +108 -0
- package/dist/application/queue-manager/locks.d.ts +21 -0
- package/dist/application/queue-manager/locks.js +59 -0
- package/dist/application/queue-manager/observability.d.ts +16 -0
- package/dist/application/queue-manager/observability.js +44 -0
- package/dist/application/queue-manager/queries.d.ts +17 -0
- package/dist/application/queue-manager/queries.js +118 -0
- package/dist/application/queue-manager/repeat.d.ts +4 -0
- package/dist/application/queue-manager/repeat.js +26 -0
- package/dist/application/queue-manager/services.d.ts +19 -0
- package/dist/application/queue-manager/services.js +80 -0
- package/dist/application/queue-manager/state.d.ts +92 -0
- package/dist/application/queue-manager/state.js +144 -0
- package/dist/application/queue-manager/stats.d.ts +28 -0
- package/dist/application/queue-manager/stats.js +52 -0
- package/dist/application/queueManager.d.ts +4 -400
- package/dist/application/queueManager.js +3 -1922
- package/dist/application/queueTelemetryJournal.d.ts +20 -0
- package/dist/application/queueTelemetryJournal.js +133 -0
- package/dist/application/repeatJobs.d.ts +7 -0
- package/dist/application/repeatJobs.js +132 -0
- package/dist/application/stallDetection.js +6 -1
- package/dist/application/types/ack.d.ts +132 -0
- package/dist/application/types/ack.js +1 -0
- package/dist/application/types/background.d.ts +18 -0
- package/dist/application/types/background.js +1 -0
- package/dist/application/types/config.d.ts +37 -0
- package/dist/application/types/config.js +15 -0
- package/dist/application/types/contextFactory.d.ts +83 -0
- package/dist/application/types/contextFactory.js +1 -0
- package/dist/application/types/contexts.d.ts +110 -0
- package/dist/application/types/contexts.js +1 -0
- package/dist/application/types/index.d.ts +7 -0
- package/dist/application/types/index.js +1 -0
- package/dist/application/types/query.d.ts +23 -0
- package/dist/application/types/query.js +1 -0
- package/dist/application/types/queueManager.d.ts +94 -0
- package/dist/application/types/queueManager.js +1 -0
- package/dist/cli/commandRouter.d.ts +1 -1
- package/dist/cli/commands/core.js +1 -0
- package/dist/cli/output/collections.d.ts +8 -0
- package/dist/cli/output/collections.js +131 -0
- package/dist/cli/output/jobs.d.ts +2 -0
- package/dist/cli/output/jobs.js +61 -0
- package/dist/cli/output/style.d.ts +14 -0
- package/dist/cli/output/style.js +28 -0
- package/dist/cli/output/success.d.ts +1 -0
- package/dist/cli/output/success.js +108 -0
- package/dist/cli/output.d.ts +1 -6
- package/dist/cli/output.js +7 -395
- package/dist/client/bunqueue/dlqRateLimit.d.ts +8 -0
- package/dist/client/bunqueue/dlqRateLimit.js +24 -0
- package/dist/client/bunqueue/runtime.d.ts +35 -0
- package/dist/client/bunqueue/runtime.js +138 -0
- package/dist/client/bunqueue.d.ts +19 -34
- package/dist/client/bunqueue.js +45 -166
- package/dist/client/dlqConversion.d.ts +5 -0
- package/dist/client/dlqConversion.js +28 -0
- package/dist/client/events.d.ts +7 -56
- package/dist/client/events.js +38 -15
- package/dist/client/flow.d.ts +6 -12
- package/dist/client/flow.js +16 -34
- package/dist/client/flowJobFactory.d.ts +9 -1
- package/dist/client/flowJobFactory.js +25 -9
- package/dist/client/flowJobMoveMethods.d.ts +5 -5
- package/dist/client/flowJobMoveMethods.js +31 -16
- package/dist/client/flowLegacyPlan.js +22 -8
- package/dist/client/flowOptions.d.ts +1 -1
- package/dist/client/flowOptions.js +2 -1
- package/dist/client/flowPlan.js +2 -3
- package/dist/client/flowPush.d.ts +1 -0
- package/dist/client/flowPush.js +5 -1
- package/dist/client/flowReader.js +5 -5
- package/dist/client/flowResults.d.ts +11 -0
- package/dist/client/flowResults.js +42 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/jobConversion.d.ts +0 -4
- package/dist/client/jobConversion.js +32 -33
- package/dist/client/jobConversionHelpers.d.ts +18 -2
- package/dist/client/jobConversionHelpers.js +17 -10
- package/dist/client/jobConversionTypes.d.ts +5 -1
- package/dist/client/jobHelpers.d.ts +7 -2
- package/dist/client/jobHelpers.js +16 -8
- package/dist/client/queue/dlq.js +12 -14
- package/dist/client/queue/dlqJobMethods.js +11 -10
- package/dist/client/queue/dlqOps.js +2 -8
- package/dist/client/queue/dlqStats.d.ts +3 -0
- package/dist/client/queue/dlqStats.js +21 -0
- package/dist/client/queue/job-proxy/dependencies.d.ts +9 -0
- package/dist/client/queue/job-proxy/dependencies.js +67 -0
- package/dist/client/queue/job-proxy/reflection.d.ts +2 -0
- package/dist/client/queue/job-proxy/reflection.js +18 -0
- package/dist/client/queue/job-proxy/simple.d.ts +3 -0
- package/dist/client/queue/job-proxy/simple.js +316 -0
- package/dist/client/queue/job-proxy/tcp.d.ts +4 -0
- package/dist/client/queue/job-proxy/tcp.js +191 -0
- package/dist/client/queue/jobMetadata.d.ts +10 -0
- package/dist/client/queue/jobMetadata.js +24 -0
- package/dist/client/queue/jobMove.d.ts +4 -4
- package/dist/client/queue/jobMove.js +82 -24
- package/dist/client/queue/jobProxy.d.ts +4 -50
- package/dist/client/queue/jobProxy.js +3 -516
- package/dist/client/queue/operations/add/bulk.d.ts +7 -0
- package/dist/client/queue/operations/add/bulk.js +129 -0
- package/dist/client/queue/operations/add/payload.d.ts +24 -0
- package/dist/client/queue/operations/add/payload.js +85 -0
- package/dist/client/queue/operations/add/single.d.ts +3 -0
- package/dist/client/queue/operations/add/single.js +107 -0
- package/dist/client/queue/operations/add.d.ts +2 -47
- package/dist/client/queue/operations/add.js +2 -364
- package/dist/client/queue/operations/management.js +2 -1
- package/dist/client/queue/operations/query.js +20 -63
- package/dist/client/queue/queue.d.ts +6 -192
- package/dist/client/queue/queue.js +6 -559
- package/dist/client/queue/runtime/compatibility.d.ts +13 -0
- package/dist/client/queue/runtime/compatibility.js +38 -0
- package/dist/client/queue/runtime/configuration.d.ts +42 -0
- package/dist/client/queue/runtime/configuration.js +109 -0
- package/dist/client/queue/runtime/connection.d.ts +6 -0
- package/dist/client/queue/runtime/connection.js +16 -0
- package/dist/client/queue/runtime/control.d.ts +41 -0
- package/dist/client/queue/runtime/control.js +87 -0
- package/dist/client/queue/runtime/queries.d.ts +48 -0
- package/dist/client/queue/runtime/queries.js +95 -0
- package/dist/client/queue/runtime/scheduling.d.ts +33 -0
- package/dist/client/queue/runtime/scheduling.js +56 -0
- package/dist/client/queue/runtime/state.d.ts +96 -0
- package/dist/client/queue/runtime/state.js +149 -0
- package/dist/client/queue/scheduler.d.ts +2 -5
- package/dist/client/queue/scheduler.js +25 -23
- package/dist/client/queue/schedulerPagination.d.ts +7 -0
- package/dist/client/queue/schedulerPagination.js +10 -0
- package/dist/client/queue/types/add.d.ts +40 -0
- package/dist/client/queue/types/add.js +1 -0
- package/dist/client/queue/types/contexts.d.ts +33 -0
- package/dist/client/queue/types/contexts.js +5 -0
- package/dist/client/queue/types/index.d.ts +3 -0
- package/dist/client/queue/types/index.js +1 -0
- package/dist/client/queue/types/job.d.ts +50 -0
- package/dist/client/queue/types/job.js +1 -0
- package/dist/client/queue/types/runtime.d.ts +35 -0
- package/dist/client/queue/types/runtime.js +1 -0
- package/dist/client/queue/workers.d.ts +4 -8
- package/dist/client/queue/workers.js +22 -14
- package/dist/client/queue-events/tcpSubscription.d.ts +23 -0
- package/dist/client/queue-events/tcpSubscription.js +99 -0
- package/dist/client/sandboxed/queueOps.d.ts +2 -2
- package/dist/client/sandboxed/queueOps.js +32 -5
- package/dist/client/sandboxed/runtime/dispatch.d.ts +13 -0
- package/dist/client/sandboxed/runtime/dispatch.js +186 -0
- package/dist/client/sandboxed/runtime/lifecycle.d.ts +20 -0
- package/dist/client/sandboxed/runtime/lifecycle.js +95 -0
- package/dist/client/sandboxed/runtime/log.d.ts +1 -0
- package/dist/client/sandboxed/runtime/log.js +15 -0
- package/dist/client/sandboxed/runtime/pool.d.ts +11 -0
- package/dist/client/sandboxed/runtime/pool.js +121 -0
- package/dist/client/sandboxed/runtime/recovery.d.ts +11 -0
- package/dist/client/sandboxed/runtime/recovery.js +122 -0
- package/dist/client/sandboxed/runtime/state.d.ts +39 -0
- package/dist/client/sandboxed/runtime/state.js +59 -0
- package/dist/client/sandboxed/types/index.d.ts +2 -0
- package/dist/client/sandboxed/types/index.js +1 -0
- package/dist/client/sandboxed/types/options.d.ts +27 -0
- package/dist/client/sandboxed/types/options.js +1 -0
- package/dist/client/sandboxed/types/process.d.ts +30 -0
- package/dist/client/sandboxed/types/process.js +1 -0
- package/dist/client/sandboxed/worker.d.ts +3 -85
- package/dist/client/sandboxed/worker.js +3 -557
- package/dist/client/sandboxed/wrapper.js +1 -0
- package/dist/client/tcp/client.d.ts +5 -112
- package/dist/client/tcp/client.js +5 -481
- package/dist/client/tcp/commandQueue.d.ts +23 -0
- package/dist/client/tcp/commandQueue.js +89 -0
- package/dist/client/tcp/connection.d.ts +4 -85
- package/dist/client/tcp/connection.js +3 -315
- package/dist/client/tcp/errors.d.ts +6 -0
- package/dist/client/tcp/errors.js +18 -0
- package/dist/client/tcp/runtime/commands.d.ts +9 -0
- package/dist/client/tcp/runtime/commands.js +124 -0
- package/dist/client/tcp/runtime/connectivity.d.ts +13 -0
- package/dist/client/tcp/runtime/connectivity.js +77 -0
- package/dist/client/tcp/runtime/health.d.ts +14 -0
- package/dist/client/tcp/runtime/health.js +127 -0
- package/dist/client/tcp/runtime/lifecycle.d.ts +8 -0
- package/dist/client/tcp/runtime/lifecycle.js +32 -0
- package/dist/client/tcp/runtime/state.d.ts +50 -0
- package/dist/client/tcp/runtime/state.js +45 -0
- package/dist/client/tcp/transport.d.ts +18 -0
- package/dist/client/tcp/transport.js +158 -0
- package/dist/client/tcp/types/command.d.ts +9 -0
- package/dist/client/tcp/types/command.js +1 -0
- package/dist/client/tcp/types/connection.d.ts +31 -0
- package/dist/client/tcp/types/connection.js +17 -0
- package/dist/client/tcp/types/index.d.ts +5 -0
- package/dist/client/tcp/types/index.js +1 -0
- package/dist/client/tcp/types/socket.d.ts +8 -0
- package/dist/client/tcp/types/socket.js +1 -0
- package/dist/client/tcp/types/tls.d.ts +4 -0
- package/dist/client/tcp/types/tls.js +1 -0
- package/dist/client/tcp/types.d.ts +2 -106
- package/dist/client/tcp/types.js +2 -22
- package/dist/client/types/connection.d.ts +29 -0
- package/dist/client/types/connection.js +1 -0
- package/dist/client/types/dlq.d.ts +45 -0
- package/dist/client/types/dlq.js +1 -0
- package/dist/client/types/events.d.ts +54 -0
- package/dist/client/types/events.js +1 -0
- package/dist/client/types/flow.d.ts +10 -0
- package/dist/client/types/flow.js +1 -0
- package/dist/client/types/index.d.ts +10 -0
- package/dist/client/types/index.js +1 -0
- package/dist/client/types/job.d.ts +127 -0
- package/dist/client/types/job.js +1 -0
- package/dist/client/types/metrics.d.ts +1 -0
- package/dist/client/types/metrics.js +1 -0
- package/dist/client/types/options.d.ts +62 -0
- package/dist/client/types/options.js +1 -0
- package/dist/client/types/worker.d.ts +38 -0
- package/dist/client/types/worker.js +1 -0
- package/dist/client/types.d.ts +2 -583
- package/dist/client/types.js +2 -6
- package/dist/client/worker/ackBatcher.d.ts +1 -1
- package/dist/client/worker/ackBatcher.js +17 -5
- package/dist/client/worker/ackOutcome.d.ts +8 -0
- package/dist/client/worker/ackOutcome.js +58 -0
- package/dist/client/worker/constants.d.ts +7 -0
- package/dist/client/worker/constants.js +7 -0
- package/dist/client/worker/groupConcurrency.js +3 -0
- package/dist/client/worker/handlers/completion.d.ts +28 -0
- package/dist/client/worker/handlers/completion.js +68 -0
- package/dist/client/worker/handlers/dependencies.d.ts +11 -0
- package/dist/client/worker/handlers/dependencies.js +107 -0
- package/dist/client/worker/handlers/mutations.d.ts +23 -0
- package/dist/client/worker/handlers/mutations.js +211 -0
- package/dist/client/worker/handlers/queries.d.ts +15 -0
- package/dist/client/worker/handlers/queries.js +100 -0
- package/dist/client/worker/index.d.ts +2 -2
- package/dist/client/worker/index.js +1 -1
- package/dist/client/worker/jobParser.js +4 -2
- package/dist/client/worker/processor.d.ts +2 -15
- package/dist/client/worker/processor.js +67 -124
- package/dist/client/worker/processorHandlers.d.ts +4 -61
- package/dist/client/worker/processorHandlers.js +4 -398
- package/dist/client/worker/processorOutcome.d.ts +14 -0
- package/dist/client/worker/processorOutcome.js +125 -0
- package/dist/client/worker/runtime/buffer.d.ts +8 -0
- package/dist/client/worker/runtime/buffer.js +50 -0
- package/dist/client/worker/runtime/control.d.ts +26 -0
- package/dist/client/worker/runtime/control.js +175 -0
- package/dist/client/worker/runtime/execution.d.ts +11 -0
- package/dist/client/worker/runtime/execution.js +123 -0
- package/dist/client/worker/runtime/lifecycle.d.ts +7 -0
- package/dist/client/worker/runtime/lifecycle.js +114 -0
- package/dist/client/worker/runtime/manual.d.ts +10 -0
- package/dist/client/worker/runtime/manual.js +137 -0
- package/dist/client/worker/runtime/options.d.ts +5 -0
- package/dist/client/worker/runtime/options.js +39 -0
- package/dist/client/worker/runtime/polling.d.ts +12 -0
- package/dist/client/worker/runtime/polling.js +123 -0
- package/dist/client/worker/runtime/state.d.ts +110 -0
- package/dist/client/worker/runtime/state.js +156 -0
- package/dist/client/worker/types/index.d.ts +5 -0
- package/dist/client/worker/types/index.js +1 -0
- package/dist/client/worker/types/manual.d.ts +7 -0
- package/dist/client/worker/types/manual.js +1 -0
- package/dist/client/worker/types/options.d.ts +24 -0
- package/dist/client/worker/types/options.js +1 -0
- package/dist/client/worker/types/outcome.d.ts +23 -0
- package/dist/client/worker/types/outcome.js +1 -0
- package/dist/client/worker/types/processor.d.ts +22 -0
- package/dist/client/worker/types/processor.js +1 -0
- package/dist/client/worker/types/transport.d.ts +11 -0
- package/dist/client/worker/types/transport.js +1 -0
- package/dist/client/worker/worker.d.ts +3 -160
- package/dist/client/worker/worker.js +3 -928
- package/dist/client/worker/workerRateLimiter.d.ts +5 -1
- package/dist/client/worker/workerRateLimiter.js +40 -20
- package/dist/client/worker.d.ts +1 -0
- package/dist/client/workflow/compensationChild.d.ts +2 -1
- package/dist/client/workflow/compensationChild.js +1 -1
- package/dist/client/workflow/compensationClaim.d.ts +11 -0
- package/dist/client/workflow/compensationClaim.js +30 -0
- package/dist/client/workflow/compensator.d.ts +7 -2
- package/dist/client/workflow/compensator.js +5 -11
- package/dist/client/workflow/recovery.js +25 -2
- package/dist/client/workflow/rollbackControl.js +1 -1
- package/dist/domain/job/constants.d.ts +12 -0
- package/dist/domain/job/constants.js +12 -0
- package/dist/domain/job/create.d.ts +2 -0
- package/dist/domain/job/create.js +103 -0
- package/dist/domain/job/ids.d.ts +5 -0
- package/dist/domain/job/ids.js +12 -0
- package/dist/domain/job/locks.d.ts +4 -0
- package/dist/domain/job/locks.js +23 -0
- package/dist/domain/job/payload.d.ts +18 -0
- package/dist/domain/job/payload.js +43 -0
- package/dist/domain/job/state.d.ts +8 -0
- package/dist/domain/job/state.js +51 -0
- package/dist/domain/job/terminal.d.ts +3 -0
- package/dist/domain/job/terminal.js +9 -0
- package/dist/domain/queue/dlqShard.d.ts +2 -0
- package/dist/domain/queue/dlqShard.js +34 -9
- package/dist/domain/queue/priorityQueue.js +3 -39
- package/dist/domain/queue/priorityQueueOrder.d.ts +3 -0
- package/dist/domain/queue/priorityQueueOrder.js +21 -0
- package/dist/domain/queue/shard/dependencies.d.ts +11 -0
- package/dist/domain/queue/shard/dependencies.js +22 -0
- package/dist/domain/queue/shard/dlq.d.ts +25 -0
- package/dist/domain/queue/shard/dlq.js +71 -0
- package/dist/domain/queue/shard/keys.d.ts +18 -0
- package/dist/domain/queue/shard/keys.js +45 -0
- package/dist/domain/queue/shard/lifecycle.d.ts +10 -0
- package/dist/domain/queue/shard/lifecycle.js +43 -0
- package/dist/domain/queue/shard/limits.d.ts +24 -0
- package/dist/domain/queue/shard/limits.js +57 -0
- package/dist/domain/queue/shard/metrics.d.ts +32 -0
- package/dist/domain/queue/shard/metrics.js +72 -0
- package/dist/domain/queue/shard/state.d.ts +34 -0
- package/dist/domain/queue/shard/state.js +80 -0
- package/dist/domain/queue/shard.d.ts +5 -145
- package/dist/domain/queue/shard.js +4 -409
- package/dist/domain/response/builders.d.ts +15 -0
- package/dist/domain/response/builders.js +39 -0
- package/dist/domain/types/command.d.ts +2 -555
- package/dist/domain/types/command.js +2 -5
- package/dist/domain/types/commands/base.d.ts +5 -0
- package/dist/domain/types/commands/base.js +1 -0
- package/dist/domain/types/commands/core.d.ts +106 -0
- package/dist/domain/types/commands/core.js +1 -0
- package/dist/domain/types/commands/cron.d.ts +36 -0
- package/dist/domain/types/commands/cron.js +1 -0
- package/dist/domain/types/commands/dashboard.d.ts +13 -0
- package/dist/domain/types/commands/dashboard.js +1 -0
- package/dist/domain/types/commands/dlq.d.ts +39 -0
- package/dist/domain/types/commands/dlq.js +1 -0
- package/dist/domain/types/commands/extended.d.ts +63 -0
- package/dist/domain/types/commands/extended.js +1 -0
- package/dist/domain/types/commands/index.d.ts +12 -0
- package/dist/domain/types/commands/index.js +12 -0
- package/dist/domain/types/commands/limits.d.ts +54 -0
- package/dist/domain/types/commands/limits.js +1 -0
- package/dist/domain/types/commands/management.d.ts +73 -0
- package/dist/domain/types/commands/management.js +1 -0
- package/dist/domain/types/commands/monitoring.d.ts +49 -0
- package/dist/domain/types/commands/monitoring.js +1 -0
- package/dist/domain/types/commands/protocol.d.ts +20 -0
- package/dist/domain/types/commands/protocol.js +1 -0
- package/dist/domain/types/commands/query.d.ts +46 -0
- package/dist/domain/types/commands/query.js +1 -0
- package/dist/domain/types/commands/union.d.ts +13 -0
- package/dist/domain/types/commands/union.js +1 -0
- package/dist/domain/types/commands/workers.d.ts +39 -0
- package/dist/domain/types/commands/workers.js +1 -0
- package/dist/domain/types/cron.d.ts +4 -2
- package/dist/domain/types/cron.js +3 -0
- package/dist/domain/types/dlq.d.ts +17 -0
- package/dist/domain/types/dlq.js +70 -14
- package/dist/domain/types/index.d.ts +2 -0
- package/dist/domain/types/index.js +1 -0
- package/dist/domain/types/job.d.ts +8 -269
- package/dist/domain/types/job.js +8 -234
- package/dist/domain/types/jobs/model.d.ts +152 -0
- package/dist/domain/types/jobs/model.js +1 -0
- package/dist/domain/types/metrics.d.ts +16 -0
- package/dist/domain/types/metrics.js +1 -0
- package/dist/domain/types/priorityQueue.d.ts +12 -0
- package/dist/domain/types/priorityQueue.js +1 -0
- package/dist/domain/types/protocol.d.ts +5 -0
- package/dist/domain/types/protocol.js +4 -0
- package/dist/domain/types/queue.d.ts +2 -0
- package/dist/domain/types/response.d.ts +3 -192
- package/dist/domain/types/response.js +3 -101
- package/dist/domain/types/responses/model.d.ts +152 -0
- package/dist/domain/types/responses/model.js +1 -0
- package/dist/domain/types/shard.d.ts +4 -0
- package/dist/domain/types/shard.js +1 -0
- package/dist/infrastructure/cloud/cloudAgent.js +6 -0
- package/dist/infrastructure/cloud/commandHandler.d.ts +2 -41
- package/dist/infrastructure/cloud/commandHandler.js +1 -1
- package/dist/infrastructure/cloud/commands/integrations.d.ts +2 -0
- package/dist/infrastructure/cloud/commands/integrations.js +31 -0
- package/dist/infrastructure/cloud/commands/jobMapper.d.ts +56 -0
- package/dist/infrastructure/cloud/commands/jobMapper.js +72 -0
- package/dist/infrastructure/cloud/commands/jobs.d.ts +2 -0
- package/dist/infrastructure/cloud/commands/jobs.js +111 -0
- package/dist/infrastructure/cloud/commands/queues.d.ts +2 -0
- package/dist/infrastructure/cloud/commands/queues.js +126 -0
- package/dist/infrastructure/cloud/commands.d.ts +3 -10
- package/dist/infrastructure/cloud/commands.js +7 -344
- package/dist/infrastructure/cloud/snapshot/analytics.d.ts +16 -0
- package/dist/infrastructure/cloud/snapshot/analytics.js +132 -0
- package/dist/infrastructure/cloud/snapshot/collector.d.ts +24 -0
- package/dist/infrastructure/cloud/snapshot/collector.js +105 -0
- package/dist/infrastructure/cloud/snapshot/config.d.ts +5 -0
- package/dist/infrastructure/cloud/snapshot/config.js +86 -0
- package/dist/infrastructure/cloud/snapshot/jobs.d.ts +5 -0
- package/dist/infrastructure/cloud/snapshot/jobs.js +148 -0
- package/dist/infrastructure/cloud/snapshot/stalls.d.ts +3 -0
- package/dist/infrastructure/cloud/snapshot/stalls.js +34 -0
- package/dist/infrastructure/cloud/snapshotCollector.d.ts +2 -53
- package/dist/infrastructure/cloud/snapshotCollector.js +5 -107
- package/dist/infrastructure/cloud/snapshotHelpers.d.ts +5 -45
- package/dist/infrastructure/cloud/snapshotHelpers.js +4 -426
- package/dist/infrastructure/cloud/types/collector.d.ts +54 -0
- package/dist/infrastructure/cloud/types/collector.js +1 -0
- package/dist/infrastructure/cloud/types/command.d.ts +44 -0
- package/dist/infrastructure/cloud/types/command.js +1 -0
- package/dist/infrastructure/cloud/types/config.d.ts +18 -0
- package/dist/infrastructure/cloud/types/config.js +1 -0
- package/dist/infrastructure/cloud/types/event.d.ts +14 -0
- package/dist/infrastructure/cloud/types/event.js +1 -0
- package/dist/infrastructure/cloud/types/redact.d.ts +4 -0
- package/dist/infrastructure/cloud/types/redact.js +1 -0
- package/dist/infrastructure/cloud/types/snapshot.d.ts +52 -0
- package/dist/infrastructure/cloud/types/snapshot.js +1 -0
- package/dist/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
- package/dist/infrastructure/cloud/types/snapshotCore.js +1 -0
- package/dist/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
- package/dist/infrastructure/cloud/types/snapshotJobs.js +1 -0
- package/dist/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
- package/dist/infrastructure/cloud/types/snapshotTelemetry.js +1 -0
- package/dist/infrastructure/cloud/types.d.ts +3 -445
- package/dist/infrastructure/cloud/types.js +0 -4
- package/dist/infrastructure/persistence/batchInsert.d.ts +13 -0
- package/dist/infrastructure/persistence/batchInsert.js +96 -0
- package/dist/infrastructure/persistence/jobOptionsBlob.d.ts +18 -0
- package/dist/infrastructure/persistence/jobOptionsBlob.js +56 -0
- package/dist/infrastructure/persistence/legacyNameMigration.d.ts +5 -0
- package/dist/infrastructure/persistence/legacyNameMigration.js +42 -0
- package/dist/infrastructure/persistence/migrations.d.ts +3 -0
- package/dist/infrastructure/persistence/migrations.js +120 -0
- package/dist/infrastructure/persistence/schema.d.ts +3 -5
- package/dist/infrastructure/persistence/schema.js +40 -136
- package/dist/infrastructure/persistence/sqlite/admission.d.ts +9 -0
- package/dist/infrastructure/persistence/sqlite/admission.js +34 -0
- package/dist/infrastructure/persistence/sqlite/control.d.ts +32 -0
- package/dist/infrastructure/persistence/sqlite/control.js +90 -0
- package/dist/infrastructure/persistence/sqlite/flows.d.ts +26 -0
- package/dist/infrastructure/persistence/sqlite/flows.js +167 -0
- package/dist/infrastructure/persistence/sqlite/jobs.d.ts +23 -0
- package/dist/infrastructure/persistence/sqlite/jobs.js +166 -0
- package/dist/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
- package/dist/infrastructure/persistence/sqlite/lifecycle.js +30 -0
- package/dist/infrastructure/persistence/sqlite/mutations.d.ts +20 -0
- package/dist/infrastructure/persistence/sqlite/mutations.js +149 -0
- package/dist/infrastructure/persistence/sqlite/queries.d.ts +23 -0
- package/dist/infrastructure/persistence/sqlite/queries.js +89 -0
- package/dist/infrastructure/persistence/sqlite/records.d.ts +24 -0
- package/dist/infrastructure/persistence/sqlite/records.js +115 -0
- package/dist/infrastructure/persistence/sqlite/state.d.ts +36 -0
- package/dist/infrastructure/persistence/sqlite/state.js +207 -0
- package/dist/infrastructure/persistence/sqlite/telemetry.d.ts +16 -0
- package/dist/infrastructure/persistence/sqlite/telemetry.js +126 -0
- package/dist/infrastructure/persistence/sqlite.d.ts +5 -280
- package/dist/infrastructure/persistence/sqlite.js +3 -1013
- package/dist/infrastructure/persistence/sqliteBatch.d.ts +4 -121
- package/dist/infrastructure/persistence/sqliteBatch.js +3 -422
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts +6 -1
- package/dist/infrastructure/persistence/sqliteSerializer.js +33 -11
- package/dist/infrastructure/persistence/statements.d.ts +5 -1
- package/dist/infrastructure/persistence/statements.js +14 -9
- package/dist/infrastructure/persistence/types/admission.d.ts +8 -0
- package/dist/infrastructure/persistence/types/admission.js +1 -0
- package/dist/infrastructure/persistence/types/batch.d.ts +12 -0
- package/dist/infrastructure/persistence/types/batch.js +1 -0
- package/dist/infrastructure/persistence/types/sqlite.d.ts +17 -0
- package/dist/infrastructure/persistence/types/sqlite.js +1 -0
- package/dist/infrastructure/persistence/writeBuffer.d.ts +38 -0
- package/dist/infrastructure/persistence/writeBuffer.js +221 -0
- package/dist/infrastructure/scheduler/cron/execution.d.ts +12 -0
- package/dist/infrastructure/scheduler/cron/execution.js +150 -0
- package/dist/infrastructure/scheduler/cron/runtime.d.ts +31 -0
- package/dist/infrastructure/scheduler/cron/runtime.js +143 -0
- package/dist/infrastructure/scheduler/cronScheduler.d.ts +4 -117
- package/dist/infrastructure/scheduler/cronScheduler.js +3 -436
- package/dist/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
- package/dist/infrastructure/scheduler/types/cronScheduler.js +1 -0
- package/dist/infrastructure/server/bootstrap.js +3 -0
- package/dist/infrastructure/server/handler-routes/control.d.ts +8 -0
- package/dist/infrastructure/server/handler-routes/control.js +82 -0
- package/dist/infrastructure/server/handler-routes/jobs.d.ts +6 -0
- package/dist/infrastructure/server/handler-routes/jobs.js +110 -0
- package/dist/infrastructure/server/handler-routes/monitoring.d.ts +5 -0
- package/dist/infrastructure/server/handler-routes/monitoring.js +65 -0
- package/dist/infrastructure/server/handlerRoutes.d.ts +3 -26
- package/dist/infrastructure/server/handlerRoutes.js +3 -270
- package/dist/infrastructure/server/handlers/advanced/configNumbers.d.ts +2 -0
- package/dist/infrastructure/server/handlers/advanced/configNumbers.js +26 -0
- package/dist/infrastructure/server/handlers/advanced/dependencies.d.ts +15 -0
- package/dist/infrastructure/server/handlers/advanced/dependencies.js +38 -0
- package/dist/infrastructure/server/handlers/advanced/jobs.d.ts +33 -0
- package/dist/infrastructure/server/handlers/advanced/jobs.js +136 -0
- package/dist/infrastructure/server/handlers/advanced/queue.d.ts +42 -0
- package/dist/infrastructure/server/handlers/advanced/queue.js +111 -0
- package/dist/infrastructure/server/handlers/advanced.d.ts +3 -121
- package/dist/infrastructure/server/handlers/advanced.js +3 -336
- package/dist/infrastructure/server/handlers/core.d.ts +1 -4
- package/dist/infrastructure/server/handlers/core.js +37 -20
- package/dist/infrastructure/server/handlers/cron.js +9 -1
- package/dist/infrastructure/server/handlers/flow.js +6 -1
- package/dist/infrastructure/server/handlers/introspection.js +1 -1
- package/dist/infrastructure/server/handlers/management.d.ts +8 -0
- package/dist/infrastructure/server/handlers/management.js +30 -0
- package/dist/infrastructure/server/handlers/monitoring/health.d.ts +13 -0
- package/dist/infrastructure/server/handlers/monitoring/health.js +61 -0
- package/dist/infrastructure/server/handlers/monitoring/operations.d.ts +8 -0
- package/dist/infrastructure/server/handlers/monitoring/operations.js +28 -0
- package/dist/infrastructure/server/handlers/monitoring/webhooks.d.ts +7 -0
- package/dist/infrastructure/server/handlers/monitoring/webhooks.js +56 -0
- package/dist/infrastructure/server/handlers/monitoring/workers.d.ts +6 -0
- package/dist/infrastructure/server/handlers/monitoring/workers.js +57 -0
- package/dist/infrastructure/server/handlers/monitoring.d.ts +4 -30
- package/dist/infrastructure/server/handlers/monitoring.js +4 -222
- package/dist/infrastructure/server/handlers/pushBatchValidation.d.ts +1 -1
- package/dist/infrastructure/server/handlers/pushBatchValidation.js +7 -0
- package/dist/infrastructure/server/handlers/query.js +12 -3
- package/dist/infrastructure/server/http-routes/jobAdvanced.d.ts +2 -0
- package/dist/infrastructure/server/http-routes/jobAdvanced.js +106 -0
- package/dist/infrastructure/server/http-routes/jobManagement.d.ts +2 -0
- package/dist/infrastructure/server/http-routes/jobManagement.js +74 -0
- package/dist/infrastructure/server/http-routes/queueJobs.d.ts +2 -0
- package/dist/infrastructure/server/http-routes/queueJobs.js +108 -0
- package/dist/infrastructure/server/httpRouteJobs.d.ts +1 -8
- package/dist/infrastructure/server/httpRouteJobs.js +33 -222
- package/dist/infrastructure/server/httpRouteQueues.d.ts +1 -6
- package/dist/infrastructure/server/httpRouteQueues.js +51 -217
- package/dist/infrastructure/server/httpRouteResources.js +1 -0
- package/dist/infrastructure/server/protocol/commands.d.ts +8 -0
- package/dist/infrastructure/server/protocol/commands.js +31 -0
- package/dist/infrastructure/server/protocol/frameParser.d.ts +16 -0
- package/dist/infrastructure/server/protocol/frameParser.js +65 -0
- package/dist/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
- package/dist/infrastructure/server/protocol/lineBuffer.js +21 -0
- package/dist/infrastructure/server/protocol/validation.d.ts +9 -0
- package/dist/infrastructure/server/protocol/validation.js +75 -0
- package/dist/infrastructure/server/protocol.d.ts +5 -77
- package/dist/infrastructure/server/protocol.js +4 -265
- package/dist/infrastructure/server/rateLimiter.js +1 -0
- package/dist/infrastructure/server/socketWriteQueue.d.ts +1 -1
- package/dist/infrastructure/server/socketWriteQueue.js +8 -5
- package/dist/infrastructure/server/sse/constants.d.ts +5 -0
- package/dist/infrastructure/server/sse/constants.js +5 -0
- package/dist/infrastructure/server/sse/eventBuffer.d.ts +3 -0
- package/dist/infrastructure/server/sse/eventBuffer.js +21 -0
- package/dist/infrastructure/server/sseHandler.d.ts +2 -6
- package/dist/infrastructure/server/sseHandler.js +20 -96
- package/dist/infrastructure/server/tcp/clientRelease.d.ts +2 -0
- package/dist/infrastructure/server/tcp/clientRelease.js +18 -0
- package/dist/infrastructure/server/tcp/connections.d.ts +24 -0
- package/dist/infrastructure/server/tcp/connections.js +162 -0
- package/dist/infrastructure/server/tcp/constants.d.ts +3 -0
- package/dist/infrastructure/server/tcp/constants.js +3 -0
- package/dist/infrastructure/server/tcp/eventSubscriptions.d.ts +10 -0
- package/dist/infrastructure/server/tcp/eventSubscriptions.js +17 -0
- package/dist/infrastructure/server/tcp/responses.d.ts +3 -0
- package/dist/infrastructure/server/tcp/responses.js +8 -0
- package/dist/infrastructure/server/tcp.d.ts +10 -68
- package/dist/infrastructure/server/tcp.js +47 -256
- package/dist/infrastructure/server/types/protocol.d.ts +4 -0
- package/dist/infrastructure/server/types/protocol.js +1 -0
- package/dist/infrastructure/server/types/sse.d.ts +11 -0
- package/dist/infrastructure/server/types/sse.js +1 -0
- package/dist/infrastructure/server/types/tcpServer.d.ts +25 -0
- package/dist/infrastructure/server/types/tcpServer.js +1 -0
- package/dist/infrastructure/server/types/ws.d.ts +6 -0
- package/dist/infrastructure/server/types/ws.js +1 -0
- package/dist/infrastructure/server/ws/constants.d.ts +6 -0
- package/dist/infrastructure/server/ws/constants.js +130 -0
- package/dist/infrastructure/server/ws/snapshots.d.ts +4 -0
- package/dist/infrastructure/server/ws/snapshots.js +52 -0
- package/dist/infrastructure/server/ws/subscriptions.d.ts +10 -0
- package/dist/infrastructure/server/ws/subscriptions.js +39 -0
- package/dist/infrastructure/server/wsHandler.d.ts +2 -10
- package/dist/infrastructure/server/wsHandler.js +12 -237
- package/dist/mcp/adapter.d.ts +5 -403
- package/dist/mcp/adapter.js +6 -778
- package/dist/mcp/backend/embedded/base.d.ts +7 -0
- package/dist/mcp/backend/embedded/base.js +15 -0
- package/dist/mcp/backend/embedded/index.d.ts +14 -0
- package/dist/mcp/backend/embedded/index.js +22 -0
- package/dist/mcp/backend/embedded/jobs.d.ts +44 -0
- package/dist/mcp/backend/embedded/jobs.js +98 -0
- package/dist/mcp/backend/embedded/queues.d.ts +27 -0
- package/dist/mcp/backend/embedded/queues.js +84 -0
- package/dist/mcp/backend/embedded/services.d.ts +29 -0
- package/dist/mcp/backend/embedded/services.js +107 -0
- package/dist/mcp/backend/serializers.d.ts +7 -0
- package/dist/mcp/backend/serializers.js +32 -0
- package/dist/mcp/backend/tcp/base.d.ts +19 -0
- package/dist/mcp/backend/tcp/base.js +54 -0
- package/dist/mcp/backend/tcp/index.d.ts +14 -0
- package/dist/mcp/backend/tcp/index.js +20 -0
- package/dist/mcp/backend/tcp/jobs.d.ts +44 -0
- package/dist/mcp/backend/tcp/jobs.js +122 -0
- package/dist/mcp/backend/tcp/queues.d.ts +27 -0
- package/dist/mcp/backend/tcp/queues.js +89 -0
- package/dist/mcp/backend/tcp/services.d.ts +30 -0
- package/dist/mcp/backend/tcp/services.js +161 -0
- package/dist/mcp/types/adapter.d.ts +176 -0
- package/dist/mcp/types/adapter.js +1 -0
- package/dist/shared/asyncLock.d.ts +13 -0
- package/dist/shared/asyncLock.js +65 -0
- package/dist/shared/lock.d.ts +10 -72
- package/dist/shared/lock.js +7 -231
- package/dist/shared/lockError.d.ts +3 -0
- package/dist/shared/lockError.js +6 -0
- package/dist/shared/lockTimeout.d.ts +2 -0
- package/dist/shared/lockTimeout.js +2 -0
- package/dist/shared/rwLock.d.ts +22 -0
- package/dist/shared/rwLock.js +124 -0
- package/dist/shared/serialization.js +1 -0
- package/dist/shared/skipList.d.ts +0 -5
- package/dist/shared/skipList.js +10 -57
- package/dist/shared/skipListNodes.d.ts +6 -0
- package/dist/shared/skipListNodes.js +43 -0
- package/dist/shared/types/lock.d.ts +7 -0
- package/dist/shared/types/lock.js +1 -0
- package/dist/shared/types/skipList.d.ts +4 -0
- package/dist/shared/types/skipList.js +1 -0
- package/package.json +2 -1
package/dist/client/types.d.ts
CHANGED
|
@@ -1,583 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* Pure type definitions for the bunqueue client API
|
|
4
|
-
*/
|
|
5
|
-
/** Job state type */
|
|
6
|
-
export type JobStateType = 'waiting' | 'prioritized' | 'delayed' | 'active' | 'completed' | 'failed' | 'waiting-children' | 'unknown';
|
|
7
|
-
/** Job JSON representation (BullMQ v5 compatible) */
|
|
8
|
-
export interface JobJson<T = unknown> {
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
data: T;
|
|
12
|
-
opts: JobOptions;
|
|
13
|
-
progress: number;
|
|
14
|
-
delay: number;
|
|
15
|
-
timestamp: number;
|
|
16
|
-
attemptsMade: number;
|
|
17
|
-
stacktrace: string[] | null;
|
|
18
|
-
returnvalue?: unknown;
|
|
19
|
-
failedReason?: string;
|
|
20
|
-
finishedOn?: number;
|
|
21
|
-
processedOn?: number;
|
|
22
|
-
queueQualifiedName: string;
|
|
23
|
-
parentKey?: string;
|
|
24
|
-
}
|
|
25
|
-
/** Job JSON raw representation (BullMQ v5 compatible) */
|
|
26
|
-
export interface JobJsonRaw {
|
|
27
|
-
id: string;
|
|
28
|
-
name: string;
|
|
29
|
-
data: string;
|
|
30
|
-
opts: string;
|
|
31
|
-
progress: string;
|
|
32
|
-
delay: string;
|
|
33
|
-
timestamp: string;
|
|
34
|
-
attemptsMade: string;
|
|
35
|
-
stacktrace: string | null;
|
|
36
|
-
returnvalue?: string;
|
|
37
|
-
failedReason?: string;
|
|
38
|
-
finishedOn?: string;
|
|
39
|
-
processedOn?: string;
|
|
40
|
-
parentKey?: string;
|
|
41
|
-
}
|
|
42
|
-
/** Options for changePriority (BullMQ v5 compatible) */
|
|
43
|
-
export interface ChangePriorityOpts {
|
|
44
|
-
priority: number;
|
|
45
|
-
lifo?: boolean;
|
|
46
|
-
}
|
|
47
|
-
/** Options for getDependencies (BullMQ v5 compatible) */
|
|
48
|
-
export interface GetDependenciesOpts {
|
|
49
|
-
processed?: {
|
|
50
|
-
cursor?: number;
|
|
51
|
-
count?: number;
|
|
52
|
-
};
|
|
53
|
-
unprocessed?: {
|
|
54
|
-
cursor?: number;
|
|
55
|
-
count?: number;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/** Dependencies result (BullMQ v5 compatible) */
|
|
59
|
-
export interface JobDependencies {
|
|
60
|
-
processed: Record<string, unknown>;
|
|
61
|
-
unprocessed: string[];
|
|
62
|
-
nextProcessedCursor?: number;
|
|
63
|
-
nextUnprocessedCursor?: number;
|
|
64
|
-
}
|
|
65
|
-
/** Dependencies count result (BullMQ v5 compatible) */
|
|
66
|
-
export interface JobDependenciesCount {
|
|
67
|
-
processed: number;
|
|
68
|
-
unprocessed: number;
|
|
69
|
-
}
|
|
70
|
-
/** Job interface exposed to users */
|
|
71
|
-
export interface Job<T = unknown> {
|
|
72
|
-
id: string;
|
|
73
|
-
name: string;
|
|
74
|
-
data: T;
|
|
75
|
-
queueName: string;
|
|
76
|
-
attemptsMade: number;
|
|
77
|
-
timestamp: number;
|
|
78
|
-
progress: number;
|
|
79
|
-
returnvalue?: unknown;
|
|
80
|
-
failedReason?: string;
|
|
81
|
-
/** Parent job reference (if this job is part of a flow) */
|
|
82
|
-
parent?: {
|
|
83
|
-
id: string;
|
|
84
|
-
queueQualifiedName: string;
|
|
85
|
-
};
|
|
86
|
-
/** Delay in ms before job becomes available for processing */
|
|
87
|
-
delay: number;
|
|
88
|
-
/** Timestamp when job started processing */
|
|
89
|
-
processedOn?: number;
|
|
90
|
-
/** Timestamp when job finished (completed or failed) */
|
|
91
|
-
finishedOn?: number;
|
|
92
|
-
/** Stack traces from failed attempts */
|
|
93
|
-
stacktrace: string[] | null;
|
|
94
|
-
/** Number of times this job has been stalled */
|
|
95
|
-
stalledCounter: number;
|
|
96
|
-
/** Job priority (higher = processed sooner) */
|
|
97
|
-
priority: number;
|
|
98
|
-
/** Parent key in format queueName:jobId */
|
|
99
|
-
parentKey?: string;
|
|
100
|
-
/** Original job options */
|
|
101
|
-
opts: JobOptions;
|
|
102
|
-
/** Lock token for this job (if processing) */
|
|
103
|
-
token?: string;
|
|
104
|
-
/** Worker/client identifier processing this job */
|
|
105
|
-
processedBy?: string;
|
|
106
|
-
/** Deduplication ID (if set via jobId) */
|
|
107
|
-
deduplicationId?: string;
|
|
108
|
-
/** Repeat job key (for repeatable jobs) */
|
|
109
|
-
repeatJobKey?: string;
|
|
110
|
-
/** Number of times job processing has been started (includes retries) */
|
|
111
|
-
attemptsStarted: number;
|
|
112
|
-
/** Update job progress (0-100) */
|
|
113
|
-
updateProgress(progress: number, message?: string): Promise<void>;
|
|
114
|
-
/** Log a message to the job */
|
|
115
|
-
log(message: string): Promise<void>;
|
|
116
|
-
/** Get current job state */
|
|
117
|
-
getState(): Promise<JobStateType>;
|
|
118
|
-
/** Remove this job from the queue */
|
|
119
|
-
remove(): Promise<void>;
|
|
120
|
-
/** Retry this job */
|
|
121
|
-
retry(): Promise<void>;
|
|
122
|
-
/**
|
|
123
|
-
* Get the return values of all children jobs (BullMQ v5 compatible).
|
|
124
|
-
* Returns a Record where keys are job keys (queueName:jobId) and values are return values.
|
|
125
|
-
* @template R - Type of the children return values
|
|
126
|
-
*/
|
|
127
|
-
getChildrenValues<R = unknown>(): Promise<Record<string, R>>;
|
|
128
|
-
/** Check if job is in waiting state */
|
|
129
|
-
isWaiting(): Promise<boolean>;
|
|
130
|
-
/** Check if job is currently active/processing */
|
|
131
|
-
isActive(): Promise<boolean>;
|
|
132
|
-
/** Check if job is delayed */
|
|
133
|
-
isDelayed(): Promise<boolean>;
|
|
134
|
-
/** Check if job has completed successfully */
|
|
135
|
-
isCompleted(): Promise<boolean>;
|
|
136
|
-
/** Check if job has failed */
|
|
137
|
-
isFailed(): Promise<boolean>;
|
|
138
|
-
/** Check if job is waiting for children to complete */
|
|
139
|
-
isWaitingChildren(): Promise<boolean>;
|
|
140
|
-
/** Update job data */
|
|
141
|
-
updateData(data: T): Promise<void>;
|
|
142
|
-
/** Promote delayed job to waiting */
|
|
143
|
-
promote(): Promise<void>;
|
|
144
|
-
/** Change job delay */
|
|
145
|
-
changeDelay(delay: number): Promise<void>;
|
|
146
|
-
/** Change job priority */
|
|
147
|
-
changePriority(opts: ChangePriorityOpts): Promise<void>;
|
|
148
|
-
/** Extend job lock duration */
|
|
149
|
-
extendLock(token: string, duration: number): Promise<number>;
|
|
150
|
-
/** Clear job logs */
|
|
151
|
-
clearLogs(keepLogs?: number): Promise<void>;
|
|
152
|
-
/** Get job dependencies (children) */
|
|
153
|
-
getDependencies(opts?: GetDependenciesOpts): Promise<JobDependencies>;
|
|
154
|
-
/** Get count of job dependencies */
|
|
155
|
-
getDependenciesCount(opts?: GetDependenciesOpts): Promise<JobDependenciesCount>;
|
|
156
|
-
/** Get job as JSON object */
|
|
157
|
-
toJSON(): JobJson<T>;
|
|
158
|
-
/** Get job as raw JSON (stringified values) */
|
|
159
|
-
asJSON(): JobJsonRaw;
|
|
160
|
-
/**
|
|
161
|
-
* Move job to completed state.
|
|
162
|
-
* @param returnValue - The return value of the job
|
|
163
|
-
* @param token - Lock token (optional in embedded mode)
|
|
164
|
-
* @param fetchNext - Whether to fetch the next job (default: true)
|
|
165
|
-
* @returns The next job data or null
|
|
166
|
-
*/
|
|
167
|
-
moveToCompleted(returnValue: unknown, token?: string, fetchNext?: boolean): Promise<unknown>;
|
|
168
|
-
/**
|
|
169
|
-
* Move job to failed state.
|
|
170
|
-
* @param error - The error that caused the failure
|
|
171
|
-
* @param token - Lock token (optional in embedded mode)
|
|
172
|
-
* @param fetchNext - Whether to fetch the next job (default: true)
|
|
173
|
-
*/
|
|
174
|
-
moveToFailed(error: Error, token?: string, fetchNext?: boolean): Promise<void>;
|
|
175
|
-
/**
|
|
176
|
-
* Move job back to waiting state.
|
|
177
|
-
* @param token - Lock token (optional in embedded mode)
|
|
178
|
-
* @returns true if job was moved
|
|
179
|
-
*/
|
|
180
|
-
moveToWait(token?: string): Promise<boolean>;
|
|
181
|
-
/**
|
|
182
|
-
* Move job to delayed state.
|
|
183
|
-
* @param timestamp - When the job should become available
|
|
184
|
-
* @param token - Lock token (optional in embedded mode)
|
|
185
|
-
*/
|
|
186
|
-
moveToDelayed(timestamp: number, token?: string): Promise<void>;
|
|
187
|
-
/**
|
|
188
|
-
* Move job to waiting-children state.
|
|
189
|
-
* Job will wait for all children to complete before processing.
|
|
190
|
-
* @param token - Lock token (optional in embedded mode)
|
|
191
|
-
* @param opts - Options for the operation
|
|
192
|
-
* @returns true if job was moved
|
|
193
|
-
*/
|
|
194
|
-
moveToWaitingChildren(token?: string, opts?: {
|
|
195
|
-
child?: {
|
|
196
|
-
id: string;
|
|
197
|
-
queue: string;
|
|
198
|
-
};
|
|
199
|
-
}): Promise<boolean>;
|
|
200
|
-
/**
|
|
201
|
-
* Wait until the job has finished (completed or failed).
|
|
202
|
-
* @param queueEvents - QueueEvents instance to listen on
|
|
203
|
-
* @param ttl - Maximum time to wait in ms (optional)
|
|
204
|
-
* @returns The job's return value
|
|
205
|
-
* @throws Error if job fails or times out
|
|
206
|
-
*/
|
|
207
|
-
waitUntilFinished(queueEvents: unknown, ttl?: number): Promise<unknown>;
|
|
208
|
-
/**
|
|
209
|
-
* Discard this job - marks it to not be processed further.
|
|
210
|
-
* The job will be moved to failed state with a "discarded" reason.
|
|
211
|
-
*/
|
|
212
|
-
discard(): void;
|
|
213
|
-
/**
|
|
214
|
-
* Get return values of failed children jobs.
|
|
215
|
-
* @returns Record where keys are job keys (queueName:jobId) and values are failure reasons
|
|
216
|
-
*/
|
|
217
|
-
getFailedChildrenValues(): Promise<Record<string, string>>;
|
|
218
|
-
/**
|
|
219
|
-
* Get child job failures that were explicitly ignored (via ignoreDependencyOnFailure).
|
|
220
|
-
* @returns Record where keys are job keys and values are failure reasons
|
|
221
|
-
*/
|
|
222
|
-
getIgnoredChildrenFailures(): Promise<Record<string, string>>;
|
|
223
|
-
/**
|
|
224
|
-
* Remove this job's dependency relationship with its parent.
|
|
225
|
-
* @returns true if dependency was removed
|
|
226
|
-
*/
|
|
227
|
-
removeChildDependency(): Promise<boolean>;
|
|
228
|
-
/**
|
|
229
|
-
* Remove the deduplication key associated with this job.
|
|
230
|
-
* @returns true if key was removed
|
|
231
|
-
*/
|
|
232
|
-
removeDeduplicationKey(): Promise<boolean>;
|
|
233
|
-
/**
|
|
234
|
-
* Remove all unprocessed child jobs of this job.
|
|
235
|
-
*/
|
|
236
|
-
removeUnprocessedChildren(): Promise<void>;
|
|
237
|
-
}
|
|
238
|
-
/** Parent job reference for flow dependencies */
|
|
239
|
-
export interface ParentOpts {
|
|
240
|
-
/** Parent job ID */
|
|
241
|
-
id: string;
|
|
242
|
-
/** Parent job queue name */
|
|
243
|
-
queue: string;
|
|
244
|
-
}
|
|
245
|
-
/** Backoff configuration (BullMQ v5 compatible) */
|
|
246
|
-
export interface BackoffOptions {
|
|
247
|
-
/** Backoff strategy type */
|
|
248
|
-
type: 'fixed' | 'exponential';
|
|
249
|
-
/** Base delay in milliseconds */
|
|
250
|
-
delay: number;
|
|
251
|
-
}
|
|
252
|
-
/** Keep jobs configuration (BullMQ v5 compatible) */
|
|
253
|
-
export interface KeepJobs {
|
|
254
|
-
/** Maximum age in milliseconds */
|
|
255
|
-
age?: number;
|
|
256
|
-
/** Maximum count of jobs to keep */
|
|
257
|
-
count?: number;
|
|
258
|
-
}
|
|
259
|
-
/** Deduplication options (BullMQ v5 compatible) */
|
|
260
|
-
export interface DeduplicationOptions {
|
|
261
|
-
/** Unique deduplication ID */
|
|
262
|
-
id: string;
|
|
263
|
-
/** TTL in milliseconds for the deduplication key */
|
|
264
|
-
ttl?: number;
|
|
265
|
-
/** Extend TTL when duplicate job arrives (for debounce mode) */
|
|
266
|
-
extend?: boolean;
|
|
267
|
-
/** Replace job data when duplicate arrives while in delayed state */
|
|
268
|
-
replace?: boolean;
|
|
269
|
-
}
|
|
270
|
-
/** Debounce options (BullMQ v5 compatible) */
|
|
271
|
-
export interface DebounceOptions {
|
|
272
|
-
/** Unique debounce ID */
|
|
273
|
-
id: string;
|
|
274
|
-
/** TTL in milliseconds for the debounce window */
|
|
275
|
-
ttl: number;
|
|
276
|
-
}
|
|
277
|
-
/** Repeat configuration (BullMQ v5 compatible) */
|
|
278
|
-
export interface RepeatOptions {
|
|
279
|
-
/** Repeat every N milliseconds */
|
|
280
|
-
every?: number;
|
|
281
|
-
/** Maximum repetitions (omit for infinite) */
|
|
282
|
-
limit?: number;
|
|
283
|
-
/** Cron pattern (alternative to every) */
|
|
284
|
-
pattern?: string;
|
|
285
|
-
/** Start date for repeat jobs */
|
|
286
|
-
startDate?: Date | string | number;
|
|
287
|
-
/** End date for repeat jobs */
|
|
288
|
-
endDate?: Date | string | number;
|
|
289
|
-
/** Timezone for cron pattern */
|
|
290
|
-
tz?: string;
|
|
291
|
-
/** Execute immediately on start */
|
|
292
|
-
immediately?: boolean;
|
|
293
|
-
/** Current repeat count (internal) */
|
|
294
|
-
count?: number;
|
|
295
|
-
/** Previous execution timestamp (internal) */
|
|
296
|
-
prevMillis?: number;
|
|
297
|
-
/** Offset in milliseconds */
|
|
298
|
-
offset?: number;
|
|
299
|
-
/** Custom job ID for repeat jobs */
|
|
300
|
-
jobId?: string;
|
|
301
|
-
}
|
|
302
|
-
/** Job options when adding to queue */
|
|
303
|
-
export interface JobOptions {
|
|
304
|
-
/** Job priority (higher = processed sooner) */
|
|
305
|
-
priority?: number;
|
|
306
|
-
/** Delay in milliseconds before job becomes available */
|
|
307
|
-
delay?: number;
|
|
308
|
-
/** Maximum number of attempts */
|
|
309
|
-
attempts?: number;
|
|
310
|
-
/** Backoff delay or configuration between retries */
|
|
311
|
-
backoff?: number | BackoffOptions;
|
|
312
|
-
/** Processing timeout in milliseconds */
|
|
313
|
-
timeout?: number;
|
|
314
|
-
/** Custom job ID (for idempotent/deduplication) */
|
|
315
|
-
jobId?: string;
|
|
316
|
-
/**
|
|
317
|
-
* Remove job on completion. Boolean only — age/count retention
|
|
318
|
-
* (number | KeepJobs) is not implemented and was silently ignored, so the
|
|
319
|
-
* type is narrowed to prevent the misuse. See issue #90.
|
|
320
|
-
*/
|
|
321
|
-
removeOnComplete?: boolean;
|
|
322
|
-
/** Remove job on failure. Boolean only — see removeOnComplete. */
|
|
323
|
-
removeOnFail?: boolean;
|
|
324
|
-
/** Stall timeout in ms - job is stalled if no heartbeat after this time */
|
|
325
|
-
stallTimeout?: number;
|
|
326
|
-
/** Repeat configuration for recurring jobs */
|
|
327
|
-
repeat?: RepeatOptions;
|
|
328
|
-
/**
|
|
329
|
-
* Force immediate persistence to disk (bypass write buffer).
|
|
330
|
-
* Use for critical jobs where data loss is unacceptable.
|
|
331
|
-
* Default: false (uses buffered writes for better throughput)
|
|
332
|
-
*/
|
|
333
|
-
durable?: boolean;
|
|
334
|
-
/**
|
|
335
|
-
* Parent job reference for flow dependencies (BullMQ v5 compatible).
|
|
336
|
-
* When set, this job becomes a child of the specified parent.
|
|
337
|
-
* The parent will wait for all children to complete before processing.
|
|
338
|
-
*/
|
|
339
|
-
parent?: ParentOpts;
|
|
340
|
-
/** Process jobs in LIFO order (newest first) */
|
|
341
|
-
lifo?: boolean;
|
|
342
|
-
/** Maximum stack trace lines to store on failure */
|
|
343
|
-
stackTraceLimit?: number;
|
|
344
|
-
/** Maximum number of log entries to keep */
|
|
345
|
-
keepLogs?: number;
|
|
346
|
-
/** Maximum job data size in bytes */
|
|
347
|
-
sizeLimit?: number;
|
|
348
|
-
/** Fail parent job if this child job fails */
|
|
349
|
-
failParentOnFailure?: boolean;
|
|
350
|
-
/** Remove dependency relationship if this job fails */
|
|
351
|
-
removeDependencyOnFailure?: boolean;
|
|
352
|
-
/** Continue parent processing even if this child fails */
|
|
353
|
-
continueParentOnFailure?: boolean;
|
|
354
|
-
/** Move job to parent's failed dependencies instead of blocking parent */
|
|
355
|
-
ignoreDependencyOnFailure?: boolean;
|
|
356
|
-
/** Job creation timestamp (default: Date.now()) */
|
|
357
|
-
timestamp?: number;
|
|
358
|
-
/** Deduplication configuration */
|
|
359
|
-
deduplication?: DeduplicationOptions;
|
|
360
|
-
/** Debounce configuration */
|
|
361
|
-
debounce?: DebounceOptions;
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* TLS options for client connections — single definition lives in tcp/types
|
|
365
|
-
* to prevent drift between the public and internal ConnectionOptions.
|
|
366
|
-
*/
|
|
367
|
-
export type { ClientTlsOptions } from './tcp/types';
|
|
368
|
-
import type { ClientTlsOptions } from './tcp/types';
|
|
369
|
-
/** Connection options for TCP mode */
|
|
370
|
-
export interface ConnectionOptions {
|
|
371
|
-
/** Server host (default: localhost, ignored if socketPath is set) */
|
|
372
|
-
host?: string;
|
|
373
|
-
/** Server port (default: 6789, ignored if socketPath is set) */
|
|
374
|
-
port?: number;
|
|
375
|
-
/** Unix socket path (takes priority over host/port) */
|
|
376
|
-
socketPath?: string;
|
|
377
|
-
/** Enable TLS to the server: true (system CAs) or custom options (default: off) */
|
|
378
|
-
tls?: boolean | ClientTlsOptions;
|
|
379
|
-
/** Auth token */
|
|
380
|
-
token?: string;
|
|
381
|
-
/** Connection pool size for parallel operations (default: 1, set >1 to enable pooling) */
|
|
382
|
-
poolSize?: number;
|
|
383
|
-
/** Ping interval in ms for health checks (default: 30000, 0 to disable) */
|
|
384
|
-
pingInterval?: number;
|
|
385
|
-
/** Command timeout in ms (default: 30000) */
|
|
386
|
-
commandTimeout?: number;
|
|
387
|
-
/**
|
|
388
|
-
* Consecutive command timeouts (no intervening success) before the connection
|
|
389
|
-
* is concluded dead and a reconnect is forced (default: 3, 0 to disable).
|
|
390
|
-
* Recovery path for a half-open socket independent of the health-check ping. See #94.
|
|
391
|
-
*/
|
|
392
|
-
maxCommandTimeouts?: number;
|
|
393
|
-
/** Enable TCP pipelining (default: true) */
|
|
394
|
-
pipelining?: boolean;
|
|
395
|
-
/** Max commands in flight per connection (default: 100) */
|
|
396
|
-
maxInFlight?: number;
|
|
397
|
-
}
|
|
398
|
-
/** Auto-batching configuration for queue.add() */
|
|
399
|
-
export interface AutoBatchOptions {
|
|
400
|
-
/** Enable auto-batching (default: true for TCP, false for embedded) */
|
|
401
|
-
enabled?: boolean;
|
|
402
|
-
/** Max items before auto-flush (default: 50) */
|
|
403
|
-
maxSize?: number;
|
|
404
|
-
/** Max delay in ms before auto-flush (default: 5) */
|
|
405
|
-
maxDelayMs?: number;
|
|
406
|
-
}
|
|
407
|
-
/** Queue options */
|
|
408
|
-
export interface QueueOptions {
|
|
409
|
-
defaultJobOptions?: JobOptions;
|
|
410
|
-
/** Connection options - if omitted, connects to localhost:6789 */
|
|
411
|
-
connection?: ConnectionOptions;
|
|
412
|
-
/** Use embedded mode (in-process SQLite) instead of TCP */
|
|
413
|
-
embedded?: boolean;
|
|
414
|
-
/** SQLite database path for embedded mode (overrides DATA_PATH env var) */
|
|
415
|
-
dataPath?: string;
|
|
416
|
-
/**
|
|
417
|
-
* Auto-batching for queue.add() calls in TCP mode.
|
|
418
|
-
* Buffers individual add() calls and sends them as a single PUSHB command.
|
|
419
|
-
* Gives 10-100x throughput improvement for sequential add() calls over TCP.
|
|
420
|
-
* Default: enabled for TCP mode, disabled for embedded mode.
|
|
421
|
-
*/
|
|
422
|
-
autoBatch?: AutoBatchOptions;
|
|
423
|
-
/**
|
|
424
|
-
* Namespace prefix prepended to the queue name on the server.
|
|
425
|
-
* Lets multiple environments (e.g. `dev:`, `prod:`) share the same broker
|
|
426
|
-
* without their jobs, workers, cron schedulers, stats, or DLQ overlapping.
|
|
427
|
-
*
|
|
428
|
-
* The user-facing `queue.name` stays the logical name; only the server-side
|
|
429
|
-
* key and the cron scheduler IDs are prefixed. A Worker that wants to consume
|
|
430
|
-
* from the namespaced queue must use the same `prefixKey`.
|
|
431
|
-
*/
|
|
432
|
-
prefixKey?: string;
|
|
433
|
-
}
|
|
434
|
-
/** Rate limiter configuration for Worker (BullMQ v5 compatible) */
|
|
435
|
-
export interface RateLimiterOptions {
|
|
436
|
-
/** Maximum number of jobs to process in the duration window */
|
|
437
|
-
max: number;
|
|
438
|
-
/** Duration window in milliseconds */
|
|
439
|
-
duration: number;
|
|
440
|
-
/** Optional group key for per-group rate limiting */
|
|
441
|
-
groupKey?: string;
|
|
442
|
-
}
|
|
443
|
-
/** Worker options */
|
|
444
|
-
export interface WorkerOptions {
|
|
445
|
-
concurrency?: number;
|
|
446
|
-
autorun?: boolean;
|
|
447
|
-
/** Heartbeat interval in ms (default: 10000). Set to 0 to disable. */
|
|
448
|
-
heartbeatInterval?: number;
|
|
449
|
-
/** Connection options - if omitted, connects to localhost:6789 */
|
|
450
|
-
connection?: ConnectionOptions;
|
|
451
|
-
/** Use embedded mode (in-process SQLite) instead of TCP */
|
|
452
|
-
embedded?: boolean;
|
|
453
|
-
/** SQLite database path for embedded mode (overrides DATA_PATH env var) */
|
|
454
|
-
dataPath?: string;
|
|
455
|
-
/** Batch size for pulling jobs (default: 10, max: 1000). Higher = fewer round-trips */
|
|
456
|
-
batchSize?: number;
|
|
457
|
-
/** Long poll timeout in ms when queue is empty (default: 0 = no wait, max: 30000) */
|
|
458
|
-
pollTimeout?: number;
|
|
459
|
-
/**
|
|
460
|
-
* Use lock-based job ownership (BullMQ-style).
|
|
461
|
-
* When enabled, each pulled job gets a lock that must be renewed via heartbeat.
|
|
462
|
-
* Disable for high-throughput scenarios where stall detection is sufficient.
|
|
463
|
-
* Default: true
|
|
464
|
-
*/
|
|
465
|
-
useLocks?: boolean;
|
|
466
|
-
/**
|
|
467
|
-
* Rate limiter for controlling job processing rate (BullMQ v5 compatible).
|
|
468
|
-
* When set, limits the number of jobs processed within the duration window.
|
|
469
|
-
*/
|
|
470
|
-
limiter?: RateLimiterOptions;
|
|
471
|
-
/** Lock duration in ms (default: 30000). Passed to server on pull; also used by stall detection. */
|
|
472
|
-
lockDuration?: number;
|
|
473
|
-
/** Max stalls before moving to failed (default: 1). Passed to stall config when using embedded mode. */
|
|
474
|
-
maxStalledCount?: number;
|
|
475
|
-
/** Skip stalled job check — disables stalled event subscription (default: false) */
|
|
476
|
-
skipStalledCheck?: boolean;
|
|
477
|
-
/** Skip lock renewal via heartbeat (default: false) */
|
|
478
|
-
skipLockRenewal?: boolean;
|
|
479
|
-
/** Delay in ms between polls when queue is drained (default: 50) */
|
|
480
|
-
drainDelay?: number;
|
|
481
|
-
/** Remove jobs on complete — applied as default for all jobs processed by this worker */
|
|
482
|
-
removeOnComplete?: boolean | number | {
|
|
483
|
-
age?: number;
|
|
484
|
-
count?: number;
|
|
485
|
-
};
|
|
486
|
-
/** Remove jobs on fail — applied as default for all jobs processed by this worker */
|
|
487
|
-
removeOnFail?: boolean | number | {
|
|
488
|
-
age?: number;
|
|
489
|
-
count?: number;
|
|
490
|
-
};
|
|
491
|
-
/**
|
|
492
|
-
* Namespace prefix prepended to the queue name on the server.
|
|
493
|
-
* Must match the `prefixKey` used by the producing `Queue` for the worker
|
|
494
|
-
* to consume the same namespaced queue. See `QueueOptions.prefixKey`.
|
|
495
|
-
*/
|
|
496
|
-
prefixKey?: string;
|
|
497
|
-
}
|
|
498
|
-
/** Stall configuration for a queue */
|
|
499
|
-
export interface StallConfig {
|
|
500
|
-
/** Enable stall detection (default: true) */
|
|
501
|
-
enabled?: boolean;
|
|
502
|
-
/** Stall timeout in ms (default: 30000) */
|
|
503
|
-
stallInterval?: number;
|
|
504
|
-
/** Max stalls before moving to DLQ (default: 3) */
|
|
505
|
-
maxStalls?: number;
|
|
506
|
-
/** Grace period after job start (default: 5000) */
|
|
507
|
-
gracePeriod?: number;
|
|
508
|
-
}
|
|
509
|
-
/** DLQ configuration for a queue */
|
|
510
|
-
export interface DlqConfig {
|
|
511
|
-
/** Enable auto-retry from DLQ */
|
|
512
|
-
autoRetry?: boolean;
|
|
513
|
-
/** Auto-retry interval in ms (default: 3600000 = 1 hour) */
|
|
514
|
-
autoRetryInterval?: number;
|
|
515
|
-
/** Max auto-retries (default: 3) */
|
|
516
|
-
maxAutoRetries?: number;
|
|
517
|
-
/** Max age before auto-purge in ms (default: 604800000 = 7 days) */
|
|
518
|
-
maxAge?: number | null;
|
|
519
|
-
/** Max entries per queue (default: 10000) */
|
|
520
|
-
maxEntries?: number;
|
|
521
|
-
}
|
|
522
|
-
/** Failure reason for DLQ entries */
|
|
523
|
-
export type FailureReason = 'explicit_fail' | 'max_attempts_exceeded' | 'timeout' | 'stalled' | 'ttl_expired' | 'worker_lost' | 'unknown';
|
|
524
|
-
/** DLQ entry with metadata */
|
|
525
|
-
export interface DlqEntry<T = unknown> {
|
|
526
|
-
job: Job<T>;
|
|
527
|
-
enteredAt: number;
|
|
528
|
-
reason: FailureReason;
|
|
529
|
-
error: string | null;
|
|
530
|
-
attempts: Array<{
|
|
531
|
-
attempt: number;
|
|
532
|
-
startedAt: number;
|
|
533
|
-
failedAt: number;
|
|
534
|
-
reason: FailureReason;
|
|
535
|
-
error: string | null;
|
|
536
|
-
duration: number;
|
|
537
|
-
}>;
|
|
538
|
-
retryCount: number;
|
|
539
|
-
lastRetryAt: number | null;
|
|
540
|
-
nextRetryAt: number | null;
|
|
541
|
-
expiresAt: number | null;
|
|
542
|
-
}
|
|
543
|
-
/** DLQ statistics */
|
|
544
|
-
export interface DlqStats {
|
|
545
|
-
total: number;
|
|
546
|
-
byReason: Record<FailureReason, number>;
|
|
547
|
-
pendingRetry: number;
|
|
548
|
-
expired: number;
|
|
549
|
-
oldestEntry: number | null;
|
|
550
|
-
newestEntry: number | null;
|
|
551
|
-
}
|
|
552
|
-
/** DLQ filter options */
|
|
553
|
-
export interface DlqFilter {
|
|
554
|
-
reason?: FailureReason;
|
|
555
|
-
olderThan?: number;
|
|
556
|
-
newerThan?: number;
|
|
557
|
-
retriable?: boolean;
|
|
558
|
-
expired?: boolean;
|
|
559
|
-
limit?: number;
|
|
560
|
-
offset?: number;
|
|
561
|
-
}
|
|
562
|
-
/**
|
|
563
|
-
* Flow-injected fields automatically added to job data by FlowProducer.
|
|
564
|
-
* These fields are present on job.data when a job is part of a flow.
|
|
565
|
-
*/
|
|
566
|
-
export interface FlowJobData {
|
|
567
|
-
/** Parent job ID (injected by FlowProducer.addChain / addTree) */
|
|
568
|
-
__flowParentId?: string;
|
|
569
|
-
/** Array of parent job IDs (injected by FlowProducer.addBulkThen for merge flows) */
|
|
570
|
-
__flowParentIds?: string[];
|
|
571
|
-
/** Parent job ID (injected by FlowProducer.add for BullMQ v5 compatible flows) */
|
|
572
|
-
__parentId?: string;
|
|
573
|
-
/** Parent job queue name (injected by FlowProducer.add for BullMQ v5 compatible flows) */
|
|
574
|
-
__parentQueue?: string;
|
|
575
|
-
/** Children job IDs (injected by FlowProducer.add for BullMQ v5 compatible flows) */
|
|
576
|
-
__childrenIds?: string[];
|
|
577
|
-
}
|
|
578
|
-
/** Job processor function */
|
|
579
|
-
export type Processor<T = unknown, R = unknown> = (job: Job<T & FlowJobData>) => Promise<R> | R;
|
|
580
|
-
/** Queue events */
|
|
581
|
-
export type QueueEventType = 'waiting' | 'active' | 'completed' | 'failed' | 'progress' | 'removed' | 'drained';
|
|
582
|
-
export { createPublicJob, toPublicJob, toDlqEntry } from './jobConversion';
|
|
583
|
-
export type { CreatePublicJobOptions, ToPublicJobOptions } from './jobConversion';
|
|
1
|
+
/** Backwards-compatible barrel for the public client types. */
|
|
2
|
+
export * from './types/index';
|
package/dist/client/types.js
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* Pure type definitions for the bunqueue client API
|
|
4
|
-
*/
|
|
5
|
-
// Re-export conversion functions for backwards compatibility
|
|
6
|
-
export { createPublicJob, toPublicJob, toDlqEntry } from './jobConversion';
|
|
1
|
+
/** Backwards-compatible barrel for the public client types. */
|
|
2
|
+
export * from './types/index';
|
|
@@ -26,7 +26,7 @@ export declare class AckBatcher {
|
|
|
26
26
|
/** Set TCP connection */
|
|
27
27
|
setTcp(tcp: TcpConnection | null): void;
|
|
28
28
|
/** Queue ACK for batch processing (with optional lock token) */
|
|
29
|
-
queue(id: string, result: unknown, token?: string): Promise<
|
|
29
|
+
queue(id: string, result: unknown, token?: string, removeOnComplete?: boolean): Promise<boolean>;
|
|
30
30
|
/** Flush pending ACKs with retry logic */
|
|
31
31
|
flush(): Promise<void>;
|
|
32
32
|
/** Send batch with exponential backoff retry */
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { getSharedManager } from '../manager';
|
|
6
6
|
import { jobId } from '../../domain/types/job';
|
|
7
|
+
import { ignoredAckIndices } from './ackOutcome';
|
|
7
8
|
const DEFAULT_MAX_RETRIES = 3;
|
|
8
9
|
const DEFAULT_RETRY_DELAY_MS = 100;
|
|
9
10
|
/**
|
|
@@ -26,7 +27,7 @@ export class AckBatcher {
|
|
|
26
27
|
this.tcp = tcp;
|
|
27
28
|
}
|
|
28
29
|
/** Queue ACK for batch processing (with optional lock token) */
|
|
29
|
-
async queue(id, result, token) {
|
|
30
|
+
async queue(id, result, token, removeOnComplete) {
|
|
30
31
|
// Backpressure: never silently drop accepted ACKs. When the buffer is at/over
|
|
31
32
|
// capacity, force a flush of the pending ACKs (sending them to the server)
|
|
32
33
|
// before accepting more. If a flush is already in-flight, await it first to
|
|
@@ -50,6 +51,7 @@ export class AckBatcher {
|
|
|
50
51
|
id,
|
|
51
52
|
result,
|
|
52
53
|
token,
|
|
54
|
+
removeOnComplete,
|
|
53
55
|
resolve,
|
|
54
56
|
reject,
|
|
55
57
|
});
|
|
@@ -95,27 +97,37 @@ export class AckBatcher {
|
|
|
95
97
|
return;
|
|
96
98
|
}
|
|
97
99
|
try {
|
|
100
|
+
let ignoredIndices = new Set();
|
|
98
101
|
if (this.config.embedded) {
|
|
99
102
|
const manager = getSharedManager();
|
|
100
103
|
// Include tokens for lock verification
|
|
101
|
-
const items = batch.map((a) => ({
|
|
102
|
-
|
|
104
|
+
const items = batch.map((a) => ({
|
|
105
|
+
id: jobId(a.id),
|
|
106
|
+
result: a.result,
|
|
107
|
+
token: a.token,
|
|
108
|
+
removeOnComplete: a.removeOnComplete,
|
|
109
|
+
}));
|
|
110
|
+
const outcome = await manager.ackBatchWithResults(items);
|
|
111
|
+
ignoredIndices = ignoredAckIndices(outcome, batch);
|
|
103
112
|
}
|
|
104
113
|
else if (this.tcp) {
|
|
105
114
|
// Include tokens for lock verification
|
|
115
|
+
const removeOnCompletes = batch.map((a) => a.removeOnComplete ?? null);
|
|
106
116
|
const response = await this.tcp.send({
|
|
107
117
|
cmd: 'ACKB',
|
|
108
118
|
ids: batch.map((a) => a.id),
|
|
109
119
|
results: batch.map((a) => a.result),
|
|
110
120
|
tokens: batch.map((a) => a.token ?? ''),
|
|
121
|
+
...(removeOnCompletes.some((value) => value === true) ? { removeOnCompletes } : {}),
|
|
111
122
|
});
|
|
112
123
|
if (!response.ok) {
|
|
113
124
|
throw new Error(response.error ?? 'Batch ACK failed');
|
|
114
125
|
}
|
|
126
|
+
ignoredIndices = ignoredAckIndices(response.data, batch);
|
|
115
127
|
}
|
|
116
128
|
// Success
|
|
117
|
-
for (
|
|
118
|
-
|
|
129
|
+
for (let index = 0; index < batch.length; index++) {
|
|
130
|
+
batch[index].resolve(!ignoredIndices.has(index));
|
|
119
131
|
}
|
|
120
132
|
return;
|
|
121
133
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface AckEntry {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
}
|
|
4
|
+
/** Parse structured ACKB evidence, retaining duplicate job-ID positions. */
|
|
5
|
+
export declare function ignoredAckIndices(data: unknown, batch: readonly AckEntry[]): ReadonlySet<number>;
|
|
6
|
+
/** Parse a single ACK response; normal historical responses carry no data. */
|
|
7
|
+
export declare function outcomeWasApplied(data: unknown): boolean;
|
|
8
|
+
export {};
|