bunqueue 2.8.53 → 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 -438
- package/dist/application/cleanupTasks.js +2 -1
- package/dist/application/clientTracking.js +3 -1
- package/dist/application/contextFactory.d.ts +13 -90
- package/dist/application/contextFactory.js +9 -0
- package/dist/application/dependencyResultTracker.d.ts +1 -0
- package/dist/application/dependencyResultTracker.js +3 -0
- package/dist/application/dlqManager.d.ts +9 -9
- package/dist/application/dlqManager.js +49 -167
- package/dist/application/dlqRetry.d.ts +12 -0
- package/dist/application/dlqRetry.js +97 -0
- package/dist/application/lockManager.js +24 -4
- 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 +11 -4
- 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 +50 -11
- package/dist/application/operations/jobMoveOperations.js +3 -3
- package/dist/application/operations/jobStateTransitions.d.ts +1 -1
- package/dist/application/operations/jobStateTransitions.js +16 -2
- 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 -380
- package/dist/application/queueManager.js +3 -1880
- 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 +9 -4
- 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/flowJobDependencies.js +3 -1
- 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 +37 -17
- 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 +3 -7
- package/dist/client/jobConversion.js +36 -33
- package/dist/client/jobConversionHelpers.d.ts +19 -3
- package/dist/client/jobConversionHelpers.js +20 -16
- package/dist/client/jobConversionTypes.d.ts +8 -0
- package/dist/client/jobDeduplication.d.ts +6 -0
- package/dist/client/jobDeduplication.js +14 -0
- package/dist/client/jobHelpers.d.ts +7 -2
- package/dist/client/jobHelpers.js +16 -8
- package/dist/client/queue/bullmqCompat.d.ts +18 -8
- package/dist/client/queue/bullmqCompat.js +39 -71
- package/dist/client/queue/deduplication.d.ts +2 -0
- package/dist/client/queue/deduplication.js +20 -11
- package/dist/client/queue/dlq.d.ts +11 -6
- package/dist/client/queue/dlq.js +57 -16
- package/dist/client/queue/dlqJobMethods.d.ts +9 -0
- package/dist/client/queue/dlqJobMethods.js +177 -0
- package/dist/client/queue/dlqOps.d.ts +2 -1
- package/dist/client/queue/dlqOps.js +4 -10
- 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 +87 -24
- package/dist/client/queue/jobProxy.d.ts +4 -50
- package/dist/client/queue/jobProxy.js +3 -511
- 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 -347
- package/dist/client/queue/operations/index.d.ts +1 -0
- package/dist/client/queue/operations/index.js +1 -0
- package/dist/client/queue/operations/management.d.ts +0 -4
- package/dist/client/queue/operations/management.js +35 -6
- package/dist/client/queue/operations/query.d.ts +1 -20
- package/dist/client/queue/operations/query.js +38 -116
- package/dist/client/queue/operations/queryStates.d.ts +13 -0
- package/dist/client/queue/operations/queryStates.js +32 -0
- package/dist/client/queue/operations/queryTcpPages.d.ts +14 -0
- package/dist/client/queue/operations/queryTcpPages.js +40 -0
- package/dist/client/queue/queue.d.ts +6 -189
- package/dist/client/queue/queue.js +6 -547
- package/dist/client/queue/rateLimit.d.ts +4 -4
- package/dist/client/queue/rateLimit.js +17 -8
- 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 +16 -8
- package/dist/client/queue/workers.js +42 -16
- package/dist/client/queue-events/tcpSubscription.d.ts +23 -0
- package/dist/client/queue-events/tcpSubscription.js +99 -0
- package/dist/client/queueGroup.d.ts +11 -0
- package/dist/client/queueGroup.js +28 -1
- 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 +68 -125
- package/dist/client/worker/processorHandlers.d.ts +4 -65
- package/dist/client/worker/processorHandlers.js +4 -400
- 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 -904
- 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/limiterManager.d.ts +11 -0
- package/dist/domain/queue/limiterManager.js +28 -0
- 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 -137
- package/dist/domain/queue/shard.js +4 -390
- package/dist/domain/queue/uniqueKeyManager.d.ts +3 -1
- package/dist/domain/queue/uniqueKeyManager.js +9 -1
- 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 -522
- 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 +7 -0
- package/dist/domain/types/queue.js +13 -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 -276
- package/dist/infrastructure/persistence/sqlite.js +3 -997
- 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 -257
- 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/dlq.d.ts +3 -0
- package/dist/infrastructure/server/handlers/dlq.js +18 -4
- package/dist/infrastructure/server/handlers/flow.js +6 -1
- package/dist/infrastructure/server/handlers/introspection.d.ts +19 -0
- package/dist/infrastructure/server/handlers/introspection.js +21 -0
- 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 +13 -4
- 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
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Job Conversion Functions
|
|
3
|
-
* Convert internal job types to public API types
|
|
4
|
-
*/
|
|
5
1
|
import { buildJobOpts } from './jobHelpers';
|
|
2
|
+
import { convertDlqEntry } from './dlqConversion';
|
|
6
3
|
import { buildJobProperties, buildStateCheckMethods, buildSerializationMethods, } from './jobConversionHelpers';
|
|
7
4
|
/** Convert internal job to public job (with methods) */
|
|
8
5
|
export function createPublicJob(opts) {
|
|
9
|
-
const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, token, processedBy, stacktrace, } = opts;
|
|
6
|
+
const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, token, processedBy, stacktrace, returnvalue, failedReason, } = opts;
|
|
10
7
|
const id = String(job.id);
|
|
11
8
|
const jobOpts = buildJobOpts(job);
|
|
12
|
-
const props = buildJobProperties(job, name,
|
|
9
|
+
const props = buildJobProperties(job, name, {
|
|
10
|
+
stacktrace,
|
|
11
|
+
token,
|
|
12
|
+
processedBy,
|
|
13
|
+
returnvalue,
|
|
14
|
+
failedReason,
|
|
15
|
+
});
|
|
13
16
|
const stateChecks = buildStateCheckMethods(id, getState, getDependenciesCount);
|
|
14
|
-
const serialization = buildSerializationMethods(job,
|
|
17
|
+
const serialization = buildSerializationMethods(job, {
|
|
18
|
+
id,
|
|
19
|
+
name,
|
|
20
|
+
jobOpts,
|
|
21
|
+
stacktrace,
|
|
22
|
+
returnvalue,
|
|
23
|
+
failedReason,
|
|
24
|
+
});
|
|
15
25
|
return {
|
|
16
26
|
...props,
|
|
17
27
|
...stateChecks,
|
|
@@ -64,19 +74,30 @@ export function createPublicJob(opts) {
|
|
|
64
74
|
}
|
|
65
75
|
/** Simple public job without methods (for Queue.getJob) */
|
|
66
76
|
export function toPublicJob(opts) {
|
|
67
|
-
const { job, name, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, stacktrace, } = opts;
|
|
77
|
+
const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, stacktrace, returnvalue, failedReason, } = opts;
|
|
68
78
|
const id = String(job.id);
|
|
69
79
|
const jobOpts = buildJobOpts(job);
|
|
70
|
-
const props = buildJobProperties(job, name,
|
|
80
|
+
const props = buildJobProperties(job, name, {
|
|
81
|
+
stacktrace,
|
|
82
|
+
returnvalue,
|
|
83
|
+
failedReason,
|
|
84
|
+
});
|
|
71
85
|
const stateChecks = buildStateCheckMethods(id, getState, getDependenciesCount);
|
|
72
|
-
const serialization = buildSerializationMethods(job,
|
|
86
|
+
const serialization = buildSerializationMethods(job, {
|
|
87
|
+
id,
|
|
88
|
+
name,
|
|
89
|
+
jobOpts,
|
|
90
|
+
stacktrace,
|
|
91
|
+
returnvalue,
|
|
92
|
+
failedReason,
|
|
93
|
+
});
|
|
73
94
|
return {
|
|
74
95
|
...props,
|
|
75
96
|
...stateChecks,
|
|
76
97
|
...serialization,
|
|
77
|
-
// Core methods
|
|
78
|
-
updateProgress:
|
|
79
|
-
log:
|
|
98
|
+
// Core methods
|
|
99
|
+
updateProgress: (progress, message) => updateProgress ? updateProgress(id, progress, message) : Promise.resolve(),
|
|
100
|
+
log: (message) => (log ? log(id, message) : Promise.resolve()),
|
|
80
101
|
getState: () => (getState ? getState(id) : Promise.resolve('unknown')),
|
|
81
102
|
remove: () => (remove ? remove(id) : Promise.resolve()),
|
|
82
103
|
retry: () => (retry ? retry(id) : Promise.resolve()),
|
|
@@ -121,24 +142,6 @@ export function toPublicJob(opts) {
|
|
|
121
142
|
};
|
|
122
143
|
}
|
|
123
144
|
/** Convert internal DLQ entry to public DLQ entry */
|
|
124
|
-
export function toDlqEntry(entry) {
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
job: toPublicJob({ job: entry.job, name: jobData?.name ?? 'default' }),
|
|
128
|
-
enteredAt: entry.enteredAt,
|
|
129
|
-
reason: entry.reason,
|
|
130
|
-
error: entry.error,
|
|
131
|
-
attempts: entry.attempts.map((a) => ({
|
|
132
|
-
attempt: a.attempt,
|
|
133
|
-
startedAt: a.startedAt,
|
|
134
|
-
failedAt: a.failedAt,
|
|
135
|
-
reason: a.reason,
|
|
136
|
-
error: a.error,
|
|
137
|
-
duration: a.duration,
|
|
138
|
-
})),
|
|
139
|
-
retryCount: entry.retryCount,
|
|
140
|
-
lastRetryAt: entry.lastRetryAt,
|
|
141
|
-
nextRetryAt: entry.nextRetryAt,
|
|
142
|
-
expiresAt: entry.expiresAt,
|
|
143
|
-
};
|
|
145
|
+
export function toDlqEntry(entry, methods) {
|
|
146
|
+
return convertDlqEntry(entry, methods, (options) => createPublicJob(options));
|
|
144
147
|
}
|
|
@@ -4,9 +4,25 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { Job as InternalJob } from '../domain/types/job';
|
|
6
6
|
import type { Job, JobStateType, JobOptions, GetDependenciesOpts, JobDependenciesCount } from './types';
|
|
7
|
+
interface JobPropertyOptions {
|
|
8
|
+
stacktrace?: string[] | null;
|
|
9
|
+
token?: string;
|
|
10
|
+
processedBy?: string;
|
|
11
|
+
returnvalue?: unknown;
|
|
12
|
+
failedReason?: string;
|
|
13
|
+
}
|
|
7
14
|
/** Build common job properties from internal job */
|
|
8
|
-
export declare function buildJobProperties<T>(job: InternalJob, name: string,
|
|
15
|
+
export declare function buildJobProperties<T>(job: InternalJob, name: string, options?: JobPropertyOptions): Pick<Job<T>, 'id' | 'name' | 'data' | 'queueName' | 'attemptsMade' | 'timestamp' | 'progress' | 'parent' | 'delay' | 'processedOn' | 'finishedOn' | 'stacktrace' | 'returnvalue' | 'failedReason' | 'stalledCounter' | 'priority' | 'parentKey' | 'opts' | 'token' | 'processedBy' | 'deduplicationId' | 'repeatJobKey' | 'attemptsStarted'>;
|
|
9
16
|
/** Build state check methods */
|
|
10
|
-
export declare function buildStateCheckMethods(id: string, getState?: (id: string) => Promise<JobStateType>,
|
|
17
|
+
export declare function buildStateCheckMethods(id: string, getState?: (id: string) => Promise<JobStateType>, _getDependenciesCount?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>): Pick<Job, 'isWaiting' | 'isActive' | 'isDelayed' | 'isCompleted' | 'isFailed' | 'isWaitingChildren'>;
|
|
18
|
+
interface JobSerializationOptions {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
jobOpts: JobOptions;
|
|
22
|
+
stacktrace?: string[] | null;
|
|
23
|
+
returnvalue?: unknown;
|
|
24
|
+
failedReason?: string;
|
|
25
|
+
}
|
|
11
26
|
/** Build serialization methods */
|
|
12
|
-
export declare function buildSerializationMethods<T>(job: InternalJob,
|
|
27
|
+
export declare function buildSerializationMethods<T>(job: InternalJob, options: JobSerializationOptions): Pick<Job<T>, 'toJSON' | 'asJSON'>;
|
|
28
|
+
export {};
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
* Job Conversion Helpers
|
|
3
3
|
* Builder functions for constructing public job properties
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { extractParent, buildJobOpts, buildParentKey, buildRepeatJobKey, resolvePublicJobPayload, } from './jobHelpers';
|
|
6
|
+
import { serializeReturnvalue } from './queue/jobMetadata';
|
|
6
7
|
/** Build common job properties from internal job */
|
|
7
|
-
export function buildJobProperties(job, name,
|
|
8
|
+
export function buildJobProperties(job, name, options = {}) {
|
|
9
|
+
const { stacktrace, token, processedBy, returnvalue, failedReason } = options;
|
|
8
10
|
const id = String(job.id);
|
|
9
11
|
const parent = extractParent(job.data);
|
|
10
12
|
const jobOpts = buildJobOpts(job);
|
|
13
|
+
const payload = resolvePublicJobPayload(job);
|
|
11
14
|
return {
|
|
12
15
|
id,
|
|
13
16
|
name,
|
|
14
|
-
data:
|
|
17
|
+
data: payload.data,
|
|
15
18
|
queueName: job.queue,
|
|
16
19
|
attemptsMade: job.attempts,
|
|
17
20
|
timestamp: job.createdAt,
|
|
@@ -22,6 +25,8 @@ export function buildJobProperties(job, name, stacktrace, token, processedBy) {
|
|
|
22
25
|
finishedOn: job.completedAt ?? undefined,
|
|
23
26
|
// Fall back to the stack persisted on the internal job at FAIL time (#74)
|
|
24
27
|
stacktrace: stacktrace ?? job.stacktrace ?? null,
|
|
28
|
+
returnvalue,
|
|
29
|
+
failedReason,
|
|
25
30
|
stalledCounter: job.stallCount,
|
|
26
31
|
priority: job.priority,
|
|
27
32
|
parentKey: buildParentKey(job),
|
|
@@ -38,7 +43,7 @@ export function buildJobProperties(job, name, stacktrace, token, processedBy) {
|
|
|
38
43
|
};
|
|
39
44
|
}
|
|
40
45
|
/** Build state check methods */
|
|
41
|
-
export function buildStateCheckMethods(id, getState,
|
|
46
|
+
export function buildStateCheckMethods(id, getState, _getDependenciesCount) {
|
|
42
47
|
return {
|
|
43
48
|
isWaiting: async () => {
|
|
44
49
|
const state = await (getState ? getState(id) : Promise.resolve('unknown'));
|
|
@@ -61,31 +66,30 @@ export function buildStateCheckMethods(id, getState, getDependenciesCount) {
|
|
|
61
66
|
return state === 'failed';
|
|
62
67
|
},
|
|
63
68
|
isWaitingChildren: async () => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return counts.unprocessed > 0;
|
|
67
|
-
}
|
|
68
|
-
return false;
|
|
69
|
+
const state = await (getState ? getState(id) : Promise.resolve('unknown'));
|
|
70
|
+
return state === 'waiting-children';
|
|
69
71
|
},
|
|
70
72
|
};
|
|
71
73
|
}
|
|
72
74
|
/** Build serialization methods */
|
|
73
|
-
export function buildSerializationMethods(job,
|
|
75
|
+
export function buildSerializationMethods(job, options) {
|
|
76
|
+
const { id, name, jobOpts, stacktrace, returnvalue, failedReason } = options;
|
|
74
77
|
// Fall back to the stack persisted on the internal job at FAIL time (#74)
|
|
75
78
|
const stack = stacktrace ?? job.stacktrace ?? null;
|
|
79
|
+
const payload = resolvePublicJobPayload(job);
|
|
76
80
|
return {
|
|
77
81
|
toJSON: () => ({
|
|
78
82
|
id,
|
|
79
83
|
name,
|
|
80
|
-
data:
|
|
84
|
+
data: payload.data,
|
|
81
85
|
opts: jobOpts,
|
|
82
86
|
progress: job.progress,
|
|
83
87
|
delay: job.runAt > job.createdAt ? job.runAt - job.createdAt : 0,
|
|
84
88
|
timestamp: job.createdAt,
|
|
85
89
|
attemptsMade: job.attempts,
|
|
86
90
|
stacktrace: stack,
|
|
87
|
-
returnvalue
|
|
88
|
-
failedReason
|
|
91
|
+
returnvalue,
|
|
92
|
+
failedReason,
|
|
89
93
|
finishedOn: job.completedAt ?? undefined,
|
|
90
94
|
processedOn: job.startedAt ?? undefined,
|
|
91
95
|
queueQualifiedName: `bull:${job.queue}`,
|
|
@@ -94,15 +98,15 @@ export function buildSerializationMethods(job, id, name, jobOpts, stacktrace) {
|
|
|
94
98
|
asJSON: () => ({
|
|
95
99
|
id,
|
|
96
100
|
name,
|
|
97
|
-
data: JSON.stringify(
|
|
101
|
+
data: JSON.stringify(payload.data),
|
|
98
102
|
opts: JSON.stringify(jobOpts),
|
|
99
103
|
progress: JSON.stringify(job.progress),
|
|
100
104
|
delay: String(job.runAt > job.createdAt ? job.runAt - job.createdAt : 0),
|
|
101
105
|
timestamp: String(job.createdAt),
|
|
102
106
|
attemptsMade: String(job.attempts),
|
|
103
107
|
stacktrace: stack ? JSON.stringify(stack) : null,
|
|
104
|
-
returnvalue:
|
|
105
|
-
failedReason
|
|
108
|
+
returnvalue: serializeReturnvalue(returnvalue),
|
|
109
|
+
failedReason,
|
|
106
110
|
finishedOn: job.completedAt ? String(job.completedAt) : undefined,
|
|
107
111
|
processedOn: job.startedAt ? String(job.startedAt) : undefined,
|
|
108
112
|
parentKey: buildParentKey(job),
|
|
@@ -42,11 +42,17 @@ export interface CreatePublicJobOptions {
|
|
|
42
42
|
token?: string;
|
|
43
43
|
processedBy?: string;
|
|
44
44
|
stacktrace?: string[] | null;
|
|
45
|
+
returnvalue?: unknown;
|
|
46
|
+
failedReason?: string;
|
|
45
47
|
}
|
|
48
|
+
/** Complete operation set required when exposing a live job from another view. */
|
|
49
|
+
export type PublicJobMethodContext = Required<Omit<CreatePublicJobOptions, 'job' | 'name' | 'token' | 'processedBy' | 'stacktrace' | 'returnvalue' | 'failedReason'>>;
|
|
46
50
|
/** Options for creating a simple public job */
|
|
47
51
|
export interface ToPublicJobOptions {
|
|
48
52
|
job: InternalJob;
|
|
49
53
|
name: string;
|
|
54
|
+
updateProgress?: (id: string, progress: number, message?: string) => Promise<void>;
|
|
55
|
+
log?: (id: string, message: string) => Promise<void>;
|
|
50
56
|
getState?: (id: string) => Promise<JobStateType>;
|
|
51
57
|
remove?: (id: string) => Promise<void>;
|
|
52
58
|
retry?: (id: string) => Promise<void>;
|
|
@@ -77,4 +83,6 @@ export interface ToPublicJobOptions {
|
|
|
77
83
|
removeDeduplicationKey?: (id: string) => Promise<boolean>;
|
|
78
84
|
removeUnprocessedChildren?: (id: string) => Promise<void>;
|
|
79
85
|
stacktrace?: string[] | null;
|
|
86
|
+
returnvalue?: unknown;
|
|
87
|
+
failedReason?: string;
|
|
80
88
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface CommandTransport {
|
|
2
|
+
send(command: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
3
|
+
}
|
|
4
|
+
/** Remove only the deduplication key currently owned by the given job. */
|
|
5
|
+
export declare function removeJobDeduplicationKey(id: string, embedded: boolean, transport: CommandTransport | null | undefined): Promise<boolean>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jobId } from '../domain/types/job';
|
|
2
|
+
import { getSharedManager } from './manager';
|
|
3
|
+
/** Remove only the deduplication key currently owned by the given job. */
|
|
4
|
+
export async function removeJobDeduplicationKey(id, embedded, transport) {
|
|
5
|
+
if (embedded)
|
|
6
|
+
return getSharedManager().removeJobDeduplicationKey(jobId(id));
|
|
7
|
+
if (!transport)
|
|
8
|
+
return false;
|
|
9
|
+
const response = await transport.send({ cmd: 'RemoveJobDeduplicationKey', id });
|
|
10
|
+
if (!response.ok) {
|
|
11
|
+
throw new Error(response.error ?? 'Failed to remove deduplication key');
|
|
12
|
+
}
|
|
13
|
+
return response.data.removed;
|
|
14
|
+
}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* Job Helper Functions
|
|
3
3
|
* Internal utilities for extracting and building job data
|
|
4
4
|
*/
|
|
5
|
-
import type
|
|
5
|
+
import { type Job as InternalJob } from '../domain/types/job';
|
|
6
6
|
import type { RepeatOptions, JobOptions } from './types';
|
|
7
|
-
/**
|
|
7
|
+
/** Decode a bare pre-name-field payload. Modern conversions use normalizeJobPayload(job). */
|
|
8
8
|
export declare function extractUserData(jobData: unknown): unknown;
|
|
9
|
+
/** Resolve legacy names while preserving documented engine-owned flow metadata. */
|
|
10
|
+
export declare function resolvePublicJobPayload(job: InternalJob): {
|
|
11
|
+
name: string;
|
|
12
|
+
data: unknown;
|
|
13
|
+
};
|
|
9
14
|
/** Extract parent info from job data if present */
|
|
10
15
|
export declare function extractParent(jobData: unknown): {
|
|
11
16
|
id: string;
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
* Job Helper Functions
|
|
3
3
|
* Internal utilities for extracting and building job data
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
import { normalizeLegacyJobPayload } from '../domain/types/job';
|
|
6
|
+
/** Decode a bare pre-name-field payload. Modern conversions use normalizeJobPayload(job). */
|
|
6
7
|
export function extractUserData(jobData) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
return normalizeLegacyJobPayload({ data: jobData }).data;
|
|
9
|
+
}
|
|
10
|
+
/** Resolve legacy names while preserving documented engine-owned flow metadata. */
|
|
11
|
+
export function resolvePublicJobPayload(job) {
|
|
12
|
+
const payload = normalizeLegacyJobPayload(job);
|
|
13
|
+
return { name: payload.name, data: payload.data };
|
|
12
14
|
}
|
|
13
15
|
/** Extract parent info from job data if present */
|
|
14
16
|
export function extractParent(jobData) {
|
|
@@ -83,8 +85,14 @@ export function buildJobOpts(job) {
|
|
|
83
85
|
removeDependencyOnFailure: job.removeDependencyOnFailure,
|
|
84
86
|
continueParentOnFailure: job.continueParentOnFailure,
|
|
85
87
|
ignoreDependencyOnFailure: job.ignoreDependencyOnFailure,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
durable: job.durable ?? false,
|
|
89
|
+
deduplication: job.uniqueKey !== null
|
|
90
|
+
? {
|
|
91
|
+
id: job.uniqueKey,
|
|
92
|
+
ttl: job.deduplicationTtl ?? undefined,
|
|
93
|
+
extend: job.deduplicationExtend,
|
|
94
|
+
replace: job.deduplicationReplace,
|
|
95
|
+
}
|
|
88
96
|
: undefined,
|
|
89
97
|
debounce: job.debounceId && job.debounceTtl !== null
|
|
90
98
|
? { id: job.debounceId, ttl: job.debounceTtl }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { TcpConnectionPool } from '../tcpPool';
|
|
5
5
|
import type { Job, JobDependencies, JobDependenciesCount, GetDependenciesOpts } from '../types';
|
|
6
|
-
interface
|
|
6
|
+
interface CompatibilityContext<T = unknown> {
|
|
7
7
|
name: string;
|
|
8
8
|
embedded: boolean;
|
|
9
9
|
tcp: TcpConnectionPool | null;
|
|
@@ -22,26 +22,36 @@ interface BullMQContext<T = unknown> {
|
|
|
22
22
|
clearJobLogs: (id: string, keepLogs?: number) => Promise<void>;
|
|
23
23
|
getJobDependencies: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependencies>;
|
|
24
24
|
getJobDependenciesCount: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>;
|
|
25
|
+
getJobCountsAsync: () => Promise<{
|
|
26
|
+
prioritized: number;
|
|
27
|
+
'waiting-children': number;
|
|
28
|
+
}>;
|
|
25
29
|
getWaitingAsync: (start?: number, end?: number) => Promise<Job<T>[]>;
|
|
26
30
|
getPrioritizedAsync: (start?: number, end?: number) => Promise<Job<T>[]>;
|
|
31
|
+
getJobsAsync: (options: {
|
|
32
|
+
state?: string | string[];
|
|
33
|
+
start?: number;
|
|
34
|
+
end?: number;
|
|
35
|
+
asc?: boolean;
|
|
36
|
+
}) => Promise<Job<T>[]>;
|
|
27
37
|
}
|
|
28
38
|
/** Get jobs in the "prioritized" state (priority > 0, BullMQ v5) */
|
|
29
|
-
export declare function getPrioritized<T>(ctx:
|
|
39
|
+
export declare function getPrioritized<T>(ctx: CompatibilityContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
|
|
30
40
|
/** Get count of prioritized jobs (priority > 0) */
|
|
31
|
-
export declare function getPrioritizedCount<T>(ctx:
|
|
41
|
+
export declare function getPrioritizedCount<T>(ctx: CompatibilityContext<T>): Promise<number>;
|
|
32
42
|
/** Get jobs waiting for parent to complete */
|
|
33
|
-
export declare function getWaitingChildren<T>(ctx:
|
|
43
|
+
export declare function getWaitingChildren<T>(ctx: CompatibilityContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
|
|
34
44
|
/** Get count of jobs waiting for parent */
|
|
35
|
-
export declare function getWaitingChildrenCount<T>(ctx:
|
|
45
|
+
export declare function getWaitingChildrenCount<T>(ctx: CompatibilityContext<T>): Promise<number>;
|
|
36
46
|
/** Get dependencies of a parent job */
|
|
37
|
-
export declare function getDependencies(
|
|
47
|
+
export declare function getDependencies(ctx: CompatibilityContext, parentId: string, type?: 'processed' | 'unprocessed', start?: number, end?: number): Promise<{
|
|
38
48
|
processed?: Record<string, unknown>;
|
|
39
49
|
unprocessed?: string[];
|
|
40
50
|
nextProcessedCursor?: number;
|
|
41
51
|
nextUnprocessedCursor?: number;
|
|
42
52
|
}>;
|
|
43
53
|
/** Get job dependencies (for Job instance method) */
|
|
44
|
-
export declare function getJobDependencies(ctx:
|
|
54
|
+
export declare function getJobDependencies(ctx: CompatibilityContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependencies>;
|
|
45
55
|
/** Get job dependencies count */
|
|
46
|
-
export declare function getJobDependenciesCount(ctx:
|
|
56
|
+
export declare function getJobDependenciesCount(ctx: CompatibilityContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependenciesCount>;
|
|
47
57
|
export {};
|
|
@@ -2,95 +2,63 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* BullMQ v5 Compatibility Operations
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { toPublicJob } from '../types';
|
|
7
|
-
import { jobId } from '../../domain/types/job';
|
|
5
|
+
import { getFlowDependencies } from '../flowJobDependencies';
|
|
8
6
|
/** Get jobs in the "prioritized" state (priority > 0, BullMQ v5) */
|
|
9
7
|
export function getPrioritized(ctx, start = 0, end = -1) {
|
|
10
8
|
return ctx.getPrioritizedAsync(start, end);
|
|
11
9
|
}
|
|
12
10
|
/** Get count of prioritized jobs (priority > 0) */
|
|
13
11
|
export async function getPrioritizedCount(ctx) {
|
|
14
|
-
|
|
15
|
-
return jobs.length;
|
|
12
|
+
return (await ctx.getJobCountsAsync()).prioritized;
|
|
16
13
|
}
|
|
17
14
|
/** Get jobs waiting for parent to complete */
|
|
18
15
|
export async function getWaitingChildren(ctx, start = 0, end = -1) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return jobs
|
|
26
|
-
.filter((j) => {
|
|
27
|
-
const data = j.data;
|
|
28
|
-
return data?._waitingParent === true;
|
|
29
|
-
})
|
|
30
|
-
.map((job) => {
|
|
31
|
-
const jobData = job.data;
|
|
32
|
-
return toPublicJob({
|
|
33
|
-
job,
|
|
34
|
-
name: jobData?.name ?? 'default',
|
|
35
|
-
getState: ctx.getJobState,
|
|
36
|
-
remove: ctx.removeAsync,
|
|
37
|
-
retry: ctx.retryJob,
|
|
38
|
-
getChildrenValues: ctx.getChildrenValues,
|
|
39
|
-
updateData: ctx.updateJobData,
|
|
40
|
-
promote: ctx.promoteJob,
|
|
41
|
-
changeDelay: ctx.changeJobDelay,
|
|
42
|
-
changePriority: ctx.changeJobPriority,
|
|
43
|
-
extendLock: ctx.extendJobLock,
|
|
44
|
-
clearLogs: ctx.clearJobLogs,
|
|
45
|
-
getDependencies: ctx.getJobDependencies,
|
|
46
|
-
getDependenciesCount: ctx.getJobDependenciesCount,
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return [];
|
|
16
|
+
return ctx.getJobsAsync({
|
|
17
|
+
state: 'waiting-children',
|
|
18
|
+
start,
|
|
19
|
+
end: end === -1 ? -1 : end + 1,
|
|
20
|
+
asc: true,
|
|
21
|
+
});
|
|
51
22
|
}
|
|
52
23
|
/** Get count of jobs waiting for parent */
|
|
53
24
|
export async function getWaitingChildrenCount(ctx) {
|
|
54
|
-
|
|
55
|
-
return children.length;
|
|
25
|
+
return (await ctx.getJobCountsAsync())['waiting-children'];
|
|
56
26
|
}
|
|
57
27
|
/** Get dependencies of a parent job */
|
|
58
|
-
export function getDependencies(
|
|
59
|
-
return
|
|
28
|
+
export function getDependencies(ctx, parentId, type, start = 0, end = -1) {
|
|
29
|
+
return getFlowDependencies(parentId, ctx.name, ctx.embedded, ctx.tcp).then((dependencies) => {
|
|
30
|
+
const unprocessed = [...dependencies.unprocessed].sort();
|
|
31
|
+
const processedEntries = Object.entries(dependencies.processed).sort(([a], [b]) => a.localeCompare(b));
|
|
32
|
+
const stop = end < 0 ? undefined : end + 1;
|
|
33
|
+
return {
|
|
34
|
+
processed: type === 'unprocessed' ? {} : Object.fromEntries(processedEntries.slice(start, stop)),
|
|
35
|
+
unprocessed: type === 'processed' ? [] : unprocessed.slice(start, stop),
|
|
36
|
+
};
|
|
37
|
+
});
|
|
60
38
|
}
|
|
61
39
|
/** Get job dependencies (for Job instance method) */
|
|
62
40
|
export async function getJobDependencies(ctx, id, _opts) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
else {
|
|
79
|
-
unprocessed.push(String(childId));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return { processed, unprocessed };
|
|
83
|
-
}
|
|
84
|
-
return { processed: {}, unprocessed: [] };
|
|
41
|
+
const dependencies = await getFlowDependencies(id, ctx.name, ctx.embedded, ctx.tcp);
|
|
42
|
+
const processedEntries = Object.entries(dependencies.processed).sort(([a], [b]) => a.localeCompare(b));
|
|
43
|
+
const unprocessed = [...dependencies.unprocessed].sort();
|
|
44
|
+
const processedCursor = _opts?.processed?.cursor ?? 0;
|
|
45
|
+
const processedCount = _opts?.processed?.count ?? processedEntries.length;
|
|
46
|
+
const unprocessedCursor = _opts?.unprocessed?.cursor ?? 0;
|
|
47
|
+
const unprocessedCount = _opts?.unprocessed?.count ?? unprocessed.length;
|
|
48
|
+
const processedEnd = Math.min(processedEntries.length, processedCursor + processedCount);
|
|
49
|
+
const unprocessedEnd = Math.min(unprocessed.length, unprocessedCursor + unprocessedCount);
|
|
50
|
+
return {
|
|
51
|
+
processed: Object.fromEntries(processedEntries.slice(processedCursor, processedEnd)),
|
|
52
|
+
unprocessed: unprocessed.slice(unprocessedCursor, unprocessedEnd),
|
|
53
|
+
nextProcessedCursor: processedEnd < processedEntries.length ? processedEnd : 0,
|
|
54
|
+
nextUnprocessedCursor: unprocessedEnd < unprocessed.length ? unprocessedEnd : 0,
|
|
55
|
+
};
|
|
85
56
|
}
|
|
86
57
|
/** Get job dependencies count */
|
|
87
58
|
export async function getJobDependenciesCount(ctx, id, _opts) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
return { processed: 0, unprocessed: 0 };
|
|
59
|
+
const deps = await getFlowDependencies(id, ctx.name, ctx.embedded, ctx.tcp);
|
|
60
|
+
return {
|
|
61
|
+
processed: Object.keys(deps.processed).length,
|
|
62
|
+
unprocessed: deps.unprocessed.length,
|
|
63
|
+
};
|
|
96
64
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deduplication Operations
|
|
3
3
|
*/
|
|
4
|
+
import type { TcpConnectionPool } from '../tcpPool';
|
|
4
5
|
interface DeduplicationContext {
|
|
5
6
|
name: string;
|
|
6
7
|
embedded: boolean;
|
|
8
|
+
tcp: TcpConnectionPool | null;
|
|
7
9
|
}
|
|
8
10
|
/** Get the job ID associated with a deduplication key */
|
|
9
11
|
export declare function getDeduplicationJobId(ctx: DeduplicationContext, deduplicationId: string): Promise<string | null>;
|
|
@@ -3,21 +3,30 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { getSharedManager } from '../manager';
|
|
5
5
|
/** Get the job ID associated with a deduplication key */
|
|
6
|
-
export function getDeduplicationJobId(ctx, deduplicationId) {
|
|
6
|
+
export async function getDeduplicationJobId(ctx, deduplicationId) {
|
|
7
7
|
if (ctx.embedded) {
|
|
8
|
-
|
|
9
|
-
return Promise.resolve(job ? String(job.id) : null);
|
|
8
|
+
return getSharedManager().getDeduplicationJobId(ctx.name, deduplicationId);
|
|
10
9
|
}
|
|
11
|
-
|
|
10
|
+
if (!ctx.tcp)
|
|
11
|
+
return null;
|
|
12
|
+
const response = await ctx.tcp.send({
|
|
13
|
+
cmd: 'GetDeduplicationJobId',
|
|
14
|
+
queue: ctx.name,
|
|
15
|
+
deduplicationId,
|
|
16
|
+
});
|
|
17
|
+
return response.data.jobId;
|
|
12
18
|
}
|
|
13
19
|
/** Remove a deduplication key */
|
|
14
|
-
export function removeDeduplicationKey(ctx, deduplicationId) {
|
|
20
|
+
export async function removeDeduplicationKey(ctx, deduplicationId) {
|
|
15
21
|
if (ctx.embedded) {
|
|
16
|
-
|
|
17
|
-
if (job) {
|
|
18
|
-
return Promise.resolve(1);
|
|
19
|
-
}
|
|
20
|
-
return Promise.resolve(0);
|
|
22
|
+
return getSharedManager().removeDeduplicationKey(ctx.name, deduplicationId);
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
if (!ctx.tcp)
|
|
25
|
+
return 0;
|
|
26
|
+
const response = await ctx.tcp.send({
|
|
27
|
+
cmd: 'RemoveDeduplicationKey',
|
|
28
|
+
queue: ctx.name,
|
|
29
|
+
deduplicationId,
|
|
30
|
+
});
|
|
31
|
+
return response.data.count;
|
|
23
32
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { TcpConnectionPool } from '../tcpPool';
|
|
6
6
|
import type { Job, DlqConfig, DlqEntry, DlqStats, DlqFilter } from '../types';
|
|
7
|
-
import { type
|
|
7
|
+
import { type DlqJobContext } from './dlqJobMethods';
|
|
8
8
|
interface DlqContext {
|
|
9
9
|
name: string;
|
|
10
10
|
embedded: boolean;
|
|
@@ -19,16 +19,19 @@ export declare function getDlqConfig(ctx: DlqContext): DlqConfig;
|
|
|
19
19
|
/** Get DLQ configuration (async, works in TCP mode) */
|
|
20
20
|
export declare function getDlqConfigAsync(ctx: DlqContext): Promise<DlqConfig>;
|
|
21
21
|
/** Get DLQ entries */
|
|
22
|
-
export declare function getDlq<T>(ctx:
|
|
23
|
-
type DlqQueryContext =
|
|
22
|
+
export declare function getDlq<T>(ctx: DlqQueryContext, filter?: DlqFilter): DlqEntry<T>[];
|
|
23
|
+
type DlqQueryContext = DlqJobContext;
|
|
24
|
+
/** Read full DLQ metadata from the selected broker runtime. */
|
|
25
|
+
export declare function getDlqAsync<T>(ctx: DlqQueryContext, filter?: DlqFilter): Promise<DlqEntry<T>[]>;
|
|
24
26
|
/**
|
|
25
|
-
* Get the
|
|
26
|
-
*
|
|
27
|
-
* (reason, enteredAt, attempts) — that stays embedded-only via getDlq().
|
|
27
|
+
* Get only the public jobs from the DLQ. Use getDlqAsync() when the full entry
|
|
28
|
+
* metadata is needed; both views work over TCP through the same command.
|
|
28
29
|
*/
|
|
29
30
|
export declare function getDlqJobsAsync<T>(ctx: DlqQueryContext, count?: number): Promise<Job<T>[]>;
|
|
30
31
|
/** Get DLQ stats */
|
|
31
32
|
export declare function getDlqStats(ctx: DlqContext): DlqStats;
|
|
33
|
+
/** Read authoritative DLQ statistics from the selected broker runtime. */
|
|
34
|
+
export declare function getDlqStatsAsync(ctx: DlqContext): Promise<DlqStats>;
|
|
32
35
|
/** Retry DLQ entries */
|
|
33
36
|
export declare function retryDlq(ctx: DlqContext, id?: string): number;
|
|
34
37
|
/**
|
|
@@ -39,6 +42,8 @@ export declare function retryDlq(ctx: DlqContext, id?: string): number;
|
|
|
39
42
|
export declare function retryDlqAsync(ctx: DlqContext, id?: string): Promise<number>;
|
|
40
43
|
/** Retry DLQ entries by filter */
|
|
41
44
|
export declare function retryDlqByFilter(ctx: DlqContext, filter: DlqFilter): number;
|
|
45
|
+
/** Retry matching DLQ entries and return the applied count. */
|
|
46
|
+
export declare function retryDlqByFilterAsync(ctx: DlqContext, filter: DlqFilter): Promise<number>;
|
|
42
47
|
/** Purge DLQ */
|
|
43
48
|
export declare function purgeDlq(ctx: DlqContext): number;
|
|
44
49
|
/**
|