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
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Command } from '../../../domain/types/command';
|
|
2
|
+
import type { Response } from '../../../domain/types/response';
|
|
3
|
+
import type { HandlerContext } from '../types';
|
|
4
|
+
export declare function routeMonitoringCommand(command: Command, context: HandlerContext, requestId?: string): Response | null;
|
|
5
|
+
export declare function routeDashboardCommand(command: Command, context: HandlerContext, requestId?: string): Response | null;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { handleDashboardOverview, handleDashboardQueue, handleDashboardQueues, } from '../handlers/dashboard';
|
|
2
|
+
import { handleMetrics, handleQueueMetrics, handleStats, handleStorageStatus, handleTrimEvents, } from '../handlers/management';
|
|
3
|
+
import { handleAddLog, handleAddWebhook, handleClearLogs, handleCompactMemory, handleGetLogs, handleHeartbeat, handleHello, handleJobHeartbeat, handleJobHeartbeatBatch, handleListWebhooks, handleListWorkers, handlePing, handlePrometheus, handleRegisterWorker, handleRemoveWebhook, handleSetWebhookEnabled, handleUnregisterWorker, } from '../handlers/monitoring';
|
|
4
|
+
export function routeMonitoringCommand(command, context, requestId) {
|
|
5
|
+
switch (command.cmd) {
|
|
6
|
+
case 'Stats':
|
|
7
|
+
return handleStats(context, requestId);
|
|
8
|
+
case 'Metrics':
|
|
9
|
+
return command.queue !== undefined || command.type !== undefined
|
|
10
|
+
? handleQueueMetrics(command, context, requestId)
|
|
11
|
+
: handleMetrics(context, requestId);
|
|
12
|
+
case 'TrimEvents':
|
|
13
|
+
return handleTrimEvents(command, context, requestId);
|
|
14
|
+
case 'Prometheus':
|
|
15
|
+
return handlePrometheus(command, context, requestId);
|
|
16
|
+
case 'AddLog':
|
|
17
|
+
return handleAddLog(command, context, requestId);
|
|
18
|
+
case 'GetLogs':
|
|
19
|
+
return handleGetLogs(command, context, requestId);
|
|
20
|
+
case 'Heartbeat':
|
|
21
|
+
return handleHeartbeat(command, context, requestId);
|
|
22
|
+
case 'JobHeartbeat':
|
|
23
|
+
return handleJobHeartbeat(command, context, requestId);
|
|
24
|
+
case 'JobHeartbeatB':
|
|
25
|
+
return handleJobHeartbeatBatch(command, context, requestId);
|
|
26
|
+
case 'Ping':
|
|
27
|
+
return handlePing(command, context, requestId);
|
|
28
|
+
case 'Hello':
|
|
29
|
+
return handleHello(command, context, requestId);
|
|
30
|
+
case 'RegisterWorker':
|
|
31
|
+
return handleRegisterWorker(command, context, requestId);
|
|
32
|
+
case 'UnregisterWorker':
|
|
33
|
+
return handleUnregisterWorker(command, context, requestId);
|
|
34
|
+
case 'ListWorkers':
|
|
35
|
+
return handleListWorkers(command, context, requestId);
|
|
36
|
+
case 'AddWebhook':
|
|
37
|
+
return handleAddWebhook(command, context, requestId);
|
|
38
|
+
case 'RemoveWebhook':
|
|
39
|
+
return handleRemoveWebhook(command, context, requestId);
|
|
40
|
+
case 'ListWebhooks':
|
|
41
|
+
return handleListWebhooks(command, context, requestId);
|
|
42
|
+
case 'StorageStatus':
|
|
43
|
+
return handleStorageStatus(command, context, requestId);
|
|
44
|
+
case 'ClearLogs':
|
|
45
|
+
return handleClearLogs(command, context, requestId);
|
|
46
|
+
case 'SetWebhookEnabled':
|
|
47
|
+
return handleSetWebhookEnabled(command, context, requestId);
|
|
48
|
+
case 'CompactMemory':
|
|
49
|
+
return handleCompactMemory(command, context, requestId);
|
|
50
|
+
default:
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export function routeDashboardCommand(command, context, requestId) {
|
|
55
|
+
switch (command.cmd) {
|
|
56
|
+
case 'DashboardOverview':
|
|
57
|
+
return handleDashboardOverview(command, context, requestId);
|
|
58
|
+
case 'DashboardQueues':
|
|
59
|
+
return handleDashboardQueues(command, context, requestId);
|
|
60
|
+
case 'DashboardQueue':
|
|
61
|
+
return handleDashboardQueue(command, context, requestId);
|
|
62
|
+
default:
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import type { Command } from '../../domain/types/command';
|
|
5
|
-
import type { Response } from '../../domain/types/response';
|
|
6
|
-
import type { HandlerContext } from './types';
|
|
7
|
-
/** Route core commands (PUSH, PULL, ACK, FAIL) */
|
|
8
|
-
export declare function routeCoreCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Promise<Response | null>;
|
|
9
|
-
/** Route query commands */
|
|
10
|
-
export declare function routeQueryCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Promise<Response | null>;
|
|
11
|
-
/** Route management commands */
|
|
12
|
-
export declare function routeManagementCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Promise<Response | null>;
|
|
13
|
-
/** Route queue control commands */
|
|
14
|
-
export declare function routeQueueControlCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
15
|
-
/** Route DLQ commands */
|
|
16
|
-
export declare function routeDlqCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
17
|
-
/** Route rate limit commands */
|
|
18
|
-
export declare function routeRateLimitCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
19
|
-
/** Route cron commands */
|
|
20
|
-
export declare function routeCronCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
21
|
-
/** Route config commands (stall/DLQ config) */
|
|
22
|
-
export declare function routeConfigCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
23
|
-
/** Route monitoring commands */
|
|
24
|
-
export declare function routeMonitoringCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
25
|
-
/** Route dashboard commands */
|
|
26
|
-
export declare function routeDashboardCommand(cmd: Command, ctx: HandlerContext, reqId?: string): Response | null;
|
|
1
|
+
export { routeConfigCommand, routeCronCommand, routeDlqCommand, routeQueueControlCommand, routeRateLimitCommand, } from './handler-routes/control';
|
|
2
|
+
export { routeCoreCommand, routeManagementCommand, routeQueryCommand, } from './handler-routes/jobs';
|
|
3
|
+
export { routeDashboardCommand, routeMonitoringCommand, } from './handler-routes/monitoring';
|
|
@@ -1,270 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// Import handlers
|
|
5
|
-
import { handlePush, handlePushBatch, handlePull, handlePullBatch, handleAck, handleAckBatch, handleFail, } from './handlers/core';
|
|
6
|
-
import { handlePushFlow } from './handlers/flow';
|
|
7
|
-
import { handleGetJob, handleGetState, handleGetResult, handleGetJobCounts, handleGetCountsPerPriority, handleGetJobByCustomId, handleGetJobs, handleGetChildrenValues, } from './handlers/query';
|
|
8
|
-
import { handleCancel, handleProgress, handleGetProgress, handlePause, handleResume, handleDrain, handleStats, handleMetrics, handleStorageStatus, } from './handlers/management';
|
|
9
|
-
import { handleDlq, handleGetDlqStats, handleRetryDlq, handlePurgeDlq, handleRetryCompleted, } from './handlers/dlq';
|
|
10
|
-
import { handleGetQueueLimits, handleGetDeduplicationJobId, handleRemoveDeduplicationKey, handleRemoveJobDeduplicationKey, handleMoveToWaitingChildren, } from './handlers/introspection';
|
|
11
|
-
import { handleCron, handleCronGet, handleCronDelete, handleCronList } from './handlers/cron';
|
|
12
|
-
import { handleUpdate, handleUpdateParent, handleChangePriority, handlePromote, handleMoveToDelayed, handleDiscard, handleWaitJob, handleIsPaused, handleObliterate, handleListQueues, handleClean, handleCount, handleRateLimit, handleRateLimitClear, handleSetConcurrency, handleClearConcurrency, handleChangeDelay, handleMoveToWait, handlePromoteJobs, handleSetStallConfig, handleGetStallConfig, handleSetDlqConfig, handleGetDlqConfig, handleGetFailedChildrenValues, handleGetIgnoredChildrenFailures, handleRemoveChildDependency, handleRemoveUnprocessedChildren, } from './handlers/advanced';
|
|
13
|
-
import { handleDashboardOverview, handleDashboardQueues, handleDashboardQueue, } from './handlers/dashboard';
|
|
14
|
-
import { handleAddLog, handleGetLogs, handleHeartbeat, handleJobHeartbeat, handleJobHeartbeatBatch, handlePing, handleHello, handleRegisterWorker, handleUnregisterWorker, handleListWorkers, handleAddWebhook, handleRemoveWebhook, handleListWebhooks, handlePrometheus, handleClearLogs, handleExtendLock, handleExtendLocks, handleSetWebhookEnabled, handleCompactMemory, } from './handlers/monitoring';
|
|
15
|
-
/** Route core commands (PUSH, PULL, ACK, FAIL) */
|
|
16
|
-
export async function routeCoreCommand(cmd, ctx, reqId) {
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
18
|
-
switch (cmd.cmd) {
|
|
19
|
-
case 'PUSH':
|
|
20
|
-
return handlePush(cmd, ctx, reqId);
|
|
21
|
-
case 'PUSHB':
|
|
22
|
-
return handlePushBatch(cmd, ctx, reqId);
|
|
23
|
-
case 'PUSHF':
|
|
24
|
-
return handlePushFlow(cmd, ctx, reqId);
|
|
25
|
-
case 'PULL':
|
|
26
|
-
return handlePull(cmd, ctx, reqId);
|
|
27
|
-
case 'PULLB':
|
|
28
|
-
return handlePullBatch(cmd, ctx, reqId);
|
|
29
|
-
case 'ACK':
|
|
30
|
-
return handleAck(cmd, ctx, reqId);
|
|
31
|
-
case 'ACKB':
|
|
32
|
-
return handleAckBatch(cmd, ctx, reqId);
|
|
33
|
-
case 'FAIL':
|
|
34
|
-
return handleFail(cmd, ctx, reqId);
|
|
35
|
-
default:
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/** Route query commands */
|
|
40
|
-
export async function routeQueryCommand(cmd, ctx, reqId) {
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
42
|
-
switch (cmd.cmd) {
|
|
43
|
-
case 'GetJob':
|
|
44
|
-
return handleGetJob(cmd, ctx, reqId);
|
|
45
|
-
case 'GetState':
|
|
46
|
-
return handleGetState(cmd, ctx, reqId);
|
|
47
|
-
case 'GetResult':
|
|
48
|
-
return handleGetResult(cmd, ctx, reqId);
|
|
49
|
-
case 'GetJobCounts':
|
|
50
|
-
return handleGetJobCounts(cmd, ctx, reqId);
|
|
51
|
-
case 'GetCountsPerPriority':
|
|
52
|
-
return handleGetCountsPerPriority(cmd, ctx, reqId);
|
|
53
|
-
case 'GetJobByCustomId':
|
|
54
|
-
return handleGetJobByCustomId(cmd, ctx, reqId);
|
|
55
|
-
case 'GetJobs':
|
|
56
|
-
return handleGetJobs(cmd, ctx, reqId);
|
|
57
|
-
case 'Count':
|
|
58
|
-
return handleCount(cmd, ctx, reqId);
|
|
59
|
-
case 'GetProgress':
|
|
60
|
-
return handleGetProgress(cmd, ctx, reqId);
|
|
61
|
-
case 'GetChildrenValues':
|
|
62
|
-
return handleGetChildrenValues(cmd, ctx, reqId);
|
|
63
|
-
case 'GetQueueLimits':
|
|
64
|
-
return handleGetQueueLimits(cmd, ctx, reqId);
|
|
65
|
-
case 'GetDeduplicationJobId':
|
|
66
|
-
return handleGetDeduplicationJobId(cmd, ctx, reqId);
|
|
67
|
-
default:
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/** Route management commands */
|
|
72
|
-
export async function routeManagementCommand(cmd, ctx, reqId) {
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
74
|
-
switch (cmd.cmd) {
|
|
75
|
-
case 'Cancel':
|
|
76
|
-
return handleCancel(cmd, ctx, reqId);
|
|
77
|
-
case 'Progress':
|
|
78
|
-
return handleProgress(cmd, ctx, reqId);
|
|
79
|
-
case 'Update':
|
|
80
|
-
return handleUpdate(cmd, ctx, reqId);
|
|
81
|
-
case 'UpdateParent':
|
|
82
|
-
return handleUpdateParent(cmd, ctx, reqId);
|
|
83
|
-
case 'ChangePriority':
|
|
84
|
-
return handleChangePriority(cmd, ctx, reqId);
|
|
85
|
-
case 'Promote':
|
|
86
|
-
return handlePromote(cmd, ctx, reqId);
|
|
87
|
-
case 'MoveToDelayed':
|
|
88
|
-
return handleMoveToDelayed(cmd, ctx, reqId);
|
|
89
|
-
case 'Discard':
|
|
90
|
-
return handleDiscard(cmd, ctx, reqId);
|
|
91
|
-
case 'WaitJob':
|
|
92
|
-
return handleWaitJob(cmd, ctx, reqId);
|
|
93
|
-
case 'ChangeDelay':
|
|
94
|
-
return handleChangeDelay(cmd, ctx, reqId);
|
|
95
|
-
case 'MoveToWait':
|
|
96
|
-
return handleMoveToWait(cmd, ctx, reqId);
|
|
97
|
-
case 'PromoteJobs':
|
|
98
|
-
return handlePromoteJobs(cmd, ctx, reqId);
|
|
99
|
-
case 'ExtendLock':
|
|
100
|
-
return handleExtendLock(cmd, ctx, reqId);
|
|
101
|
-
case 'ExtendLocks':
|
|
102
|
-
return handleExtendLocks(cmd, ctx, reqId);
|
|
103
|
-
case 'GetFailedChildrenValues':
|
|
104
|
-
return handleGetFailedChildrenValues(cmd, ctx, reqId);
|
|
105
|
-
case 'GetIgnoredChildrenFailures':
|
|
106
|
-
return handleGetIgnoredChildrenFailures(cmd, ctx, reqId);
|
|
107
|
-
case 'RemoveChildDependency':
|
|
108
|
-
return handleRemoveChildDependency(cmd, ctx, reqId);
|
|
109
|
-
case 'RemoveUnprocessedChildren':
|
|
110
|
-
return handleRemoveUnprocessedChildren(cmd, ctx, reqId);
|
|
111
|
-
case 'RemoveDeduplicationKey':
|
|
112
|
-
return handleRemoveDeduplicationKey(cmd, ctx, reqId);
|
|
113
|
-
case 'RemoveJobDeduplicationKey':
|
|
114
|
-
return handleRemoveJobDeduplicationKey(cmd, ctx, reqId);
|
|
115
|
-
case 'MoveToWaitingChildren':
|
|
116
|
-
return handleMoveToWaitingChildren(cmd, ctx, reqId);
|
|
117
|
-
default:
|
|
118
|
-
return null;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
/** Route queue control commands */
|
|
122
|
-
export function routeQueueControlCommand(cmd, ctx, reqId) {
|
|
123
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
124
|
-
switch (cmd.cmd) {
|
|
125
|
-
case 'Pause':
|
|
126
|
-
return handlePause(cmd, ctx, reqId);
|
|
127
|
-
case 'Resume':
|
|
128
|
-
return handleResume(cmd, ctx, reqId);
|
|
129
|
-
case 'IsPaused':
|
|
130
|
-
return handleIsPaused(cmd, ctx, reqId);
|
|
131
|
-
case 'Drain':
|
|
132
|
-
return handleDrain(cmd, ctx, reqId);
|
|
133
|
-
case 'Obliterate':
|
|
134
|
-
return handleObliterate(cmd, ctx, reqId);
|
|
135
|
-
case 'ListQueues':
|
|
136
|
-
return handleListQueues(cmd, ctx, reqId);
|
|
137
|
-
case 'Clean':
|
|
138
|
-
return handleClean(cmd, ctx, reqId);
|
|
139
|
-
default:
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/** Route DLQ commands */
|
|
144
|
-
export function routeDlqCommand(cmd, ctx, reqId) {
|
|
145
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
146
|
-
switch (cmd.cmd) {
|
|
147
|
-
case 'Dlq':
|
|
148
|
-
return handleDlq(cmd, ctx, reqId);
|
|
149
|
-
case 'GetDlqStats':
|
|
150
|
-
return handleGetDlqStats(cmd, ctx, reqId);
|
|
151
|
-
case 'RetryDlq':
|
|
152
|
-
return handleRetryDlq(cmd, ctx, reqId);
|
|
153
|
-
case 'PurgeDlq':
|
|
154
|
-
return handlePurgeDlq(cmd, ctx, reqId);
|
|
155
|
-
case 'RetryCompleted':
|
|
156
|
-
return handleRetryCompleted(cmd, ctx, reqId);
|
|
157
|
-
default:
|
|
158
|
-
return null;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/** Route rate limit commands */
|
|
162
|
-
export function routeRateLimitCommand(cmd, ctx, reqId) {
|
|
163
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
164
|
-
switch (cmd.cmd) {
|
|
165
|
-
case 'RateLimit':
|
|
166
|
-
return handleRateLimit(cmd, ctx, reqId);
|
|
167
|
-
case 'RateLimitClear':
|
|
168
|
-
return handleRateLimitClear(cmd, ctx, reqId);
|
|
169
|
-
case 'SetConcurrency':
|
|
170
|
-
return handleSetConcurrency(cmd, ctx, reqId);
|
|
171
|
-
case 'ClearConcurrency':
|
|
172
|
-
return handleClearConcurrency(cmd, ctx, reqId);
|
|
173
|
-
default:
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/** Route cron commands */
|
|
178
|
-
export function routeCronCommand(cmd, ctx, reqId) {
|
|
179
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
180
|
-
switch (cmd.cmd) {
|
|
181
|
-
case 'Cron':
|
|
182
|
-
return handleCron(cmd, ctx, reqId);
|
|
183
|
-
case 'CronGet':
|
|
184
|
-
return handleCronGet(cmd, ctx, reqId);
|
|
185
|
-
case 'CronDelete':
|
|
186
|
-
return handleCronDelete(cmd, ctx, reqId);
|
|
187
|
-
case 'CronList':
|
|
188
|
-
return handleCronList(cmd, ctx, reqId);
|
|
189
|
-
default:
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
/** Route config commands (stall/DLQ config) */
|
|
194
|
-
export function routeConfigCommand(cmd, ctx, reqId) {
|
|
195
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
196
|
-
switch (cmd.cmd) {
|
|
197
|
-
case 'SetStallConfig':
|
|
198
|
-
return handleSetStallConfig(cmd, ctx, reqId);
|
|
199
|
-
case 'GetStallConfig':
|
|
200
|
-
return handleGetStallConfig(cmd, ctx, reqId);
|
|
201
|
-
case 'SetDlqConfig':
|
|
202
|
-
return handleSetDlqConfig(cmd, ctx, reqId);
|
|
203
|
-
case 'GetDlqConfig':
|
|
204
|
-
return handleGetDlqConfig(cmd, ctx, reqId);
|
|
205
|
-
default:
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
/** Route monitoring commands */
|
|
210
|
-
export function routeMonitoringCommand(cmd, ctx, reqId) {
|
|
211
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
212
|
-
switch (cmd.cmd) {
|
|
213
|
-
case 'Stats':
|
|
214
|
-
return handleStats(ctx, reqId);
|
|
215
|
-
case 'Metrics':
|
|
216
|
-
return handleMetrics(ctx, reqId);
|
|
217
|
-
case 'Prometheus':
|
|
218
|
-
return handlePrometheus(cmd, ctx, reqId);
|
|
219
|
-
case 'AddLog':
|
|
220
|
-
return handleAddLog(cmd, ctx, reqId);
|
|
221
|
-
case 'GetLogs':
|
|
222
|
-
return handleGetLogs(cmd, ctx, reqId);
|
|
223
|
-
case 'Heartbeat':
|
|
224
|
-
return handleHeartbeat(cmd, ctx, reqId);
|
|
225
|
-
case 'JobHeartbeat':
|
|
226
|
-
return handleJobHeartbeat(cmd, ctx, reqId);
|
|
227
|
-
case 'JobHeartbeatB':
|
|
228
|
-
return handleJobHeartbeatBatch(cmd, ctx, reqId);
|
|
229
|
-
case 'Ping':
|
|
230
|
-
return handlePing(cmd, ctx, reqId);
|
|
231
|
-
case 'Hello':
|
|
232
|
-
return handleHello(cmd, ctx, reqId);
|
|
233
|
-
case 'RegisterWorker':
|
|
234
|
-
return handleRegisterWorker(cmd, ctx, reqId);
|
|
235
|
-
case 'UnregisterWorker':
|
|
236
|
-
return handleUnregisterWorker(cmd, ctx, reqId);
|
|
237
|
-
case 'ListWorkers':
|
|
238
|
-
return handleListWorkers(cmd, ctx, reqId);
|
|
239
|
-
case 'AddWebhook':
|
|
240
|
-
return handleAddWebhook(cmd, ctx, reqId);
|
|
241
|
-
case 'RemoveWebhook':
|
|
242
|
-
return handleRemoveWebhook(cmd, ctx, reqId);
|
|
243
|
-
case 'ListWebhooks':
|
|
244
|
-
return handleListWebhooks(cmd, ctx, reqId);
|
|
245
|
-
case 'StorageStatus':
|
|
246
|
-
return handleStorageStatus(cmd, ctx, reqId);
|
|
247
|
-
case 'ClearLogs':
|
|
248
|
-
return handleClearLogs(cmd, ctx, reqId);
|
|
249
|
-
case 'SetWebhookEnabled':
|
|
250
|
-
return handleSetWebhookEnabled(cmd, ctx, reqId);
|
|
251
|
-
case 'CompactMemory':
|
|
252
|
-
return handleCompactMemory(cmd, ctx, reqId);
|
|
253
|
-
default:
|
|
254
|
-
return null;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/** Route dashboard commands */
|
|
258
|
-
export function routeDashboardCommand(cmd, ctx, reqId) {
|
|
259
|
-
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
260
|
-
switch (cmd.cmd) {
|
|
261
|
-
case 'DashboardOverview':
|
|
262
|
-
return handleDashboardOverview(cmd, ctx, reqId);
|
|
263
|
-
case 'DashboardQueues':
|
|
264
|
-
return handleDashboardQueues(cmd, ctx, reqId);
|
|
265
|
-
case 'DashboardQueue':
|
|
266
|
-
return handleDashboardQueue(cmd, ctx, reqId);
|
|
267
|
-
default:
|
|
268
|
-
return null;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
1
|
+
export { routeConfigCommand, routeCronCommand, routeDlqCommand, routeQueueControlCommand, routeRateLimitCommand, } from './handler-routes/control';
|
|
2
|
+
export { routeCoreCommand, routeManagementCommand, routeQueryCommand, } from './handler-routes/jobs';
|
|
3
|
+
export { routeDashboardCommand, routeMonitoringCommand, } from './handler-routes/monitoring';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function toFiniteNumber(value) {
|
|
2
|
+
if (value === undefined || value === null)
|
|
3
|
+
return undefined;
|
|
4
|
+
const number = typeof value === 'number' ? value : Number(value);
|
|
5
|
+
return Number.isFinite(number) ? number : undefined;
|
|
6
|
+
}
|
|
7
|
+
export function sanitizeConfigNumbers(config, numericKeys) {
|
|
8
|
+
if (!config || typeof config !== 'object')
|
|
9
|
+
return config;
|
|
10
|
+
const numeric = new Set(numericKeys);
|
|
11
|
+
const output = {};
|
|
12
|
+
for (const [key, value] of Object.entries(config)) {
|
|
13
|
+
if (!numeric.has(key)) {
|
|
14
|
+
output[key] = value;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (value === null) {
|
|
18
|
+
output[key] = null;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const number = toFiniteNumber(value);
|
|
22
|
+
if (number !== undefined)
|
|
23
|
+
output[key] = number;
|
|
24
|
+
}
|
|
25
|
+
return output;
|
|
26
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Command } from '../../../../domain/types/command';
|
|
2
|
+
import type { Response } from '../../../../domain/types/response';
|
|
3
|
+
import type { HandlerContext } from '../../types';
|
|
4
|
+
export declare function handleGetFailedChildrenValues(command: Extract<Command, {
|
|
5
|
+
cmd: 'GetFailedChildrenValues';
|
|
6
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
7
|
+
export declare function handleGetIgnoredChildrenFailures(command: Extract<Command, {
|
|
8
|
+
cmd: 'GetIgnoredChildrenFailures';
|
|
9
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
10
|
+
export declare function handleRemoveChildDependency(command: Extract<Command, {
|
|
11
|
+
cmd: 'RemoveChildDependency';
|
|
12
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
13
|
+
export declare function handleRemoveUnprocessedChildren(command: Extract<Command, {
|
|
14
|
+
cmd: 'RemoveUnprocessedChildren';
|
|
15
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jobId } from '../../../../domain/types/job';
|
|
2
|
+
import * as response from '../../../../domain/types/response';
|
|
3
|
+
export async function handleGetFailedChildrenValues(command, context, requestId) {
|
|
4
|
+
try {
|
|
5
|
+
const values = await context.queueManager.getFailedChildrenValues(jobId(command.id));
|
|
6
|
+
return { ok: true, values, reqId: requestId };
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return { ok: true, values: {}, reqId: requestId };
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export async function handleGetIgnoredChildrenFailures(command, context, requestId) {
|
|
13
|
+
try {
|
|
14
|
+
const values = await context.queueManager.getIgnoredChildrenFailures(jobId(command.id));
|
|
15
|
+
return { ok: true, values, reqId: requestId };
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return { ok: true, values: {}, reqId: requestId };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function handleRemoveChildDependency(command, context, requestId) {
|
|
22
|
+
try {
|
|
23
|
+
const removed = await context.queueManager.removeChildDependency(jobId(command.id));
|
|
24
|
+
return { ok: true, removed, reqId: requestId };
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return response.error(error instanceof Error ? error.message : String(error), requestId);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function handleRemoveUnprocessedChildren(command, context, requestId) {
|
|
31
|
+
try {
|
|
32
|
+
await context.queueManager.removeUnprocessedChildren(jobId(command.id));
|
|
33
|
+
return response.ok(undefined, requestId);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return response.error(error instanceof Error ? error.message : String(error), requestId);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Command } from '../../../../domain/types/command';
|
|
2
|
+
import type { Response } from '../../../../domain/types/response';
|
|
3
|
+
import type { HandlerContext } from '../../types';
|
|
4
|
+
export declare function handleUpdate(command: Extract<Command, {
|
|
5
|
+
cmd: 'Update';
|
|
6
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
7
|
+
export declare function handleChangePriority(command: Extract<Command, {
|
|
8
|
+
cmd: 'ChangePriority';
|
|
9
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
10
|
+
export declare function handlePromote(command: Extract<Command, {
|
|
11
|
+
cmd: 'Promote';
|
|
12
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
13
|
+
export declare function handleUpdateParent(command: Extract<Command, {
|
|
14
|
+
cmd: 'UpdateParent';
|
|
15
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
16
|
+
export declare function handleMoveToDelayed(command: Extract<Command, {
|
|
17
|
+
cmd: 'MoveToDelayed';
|
|
18
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
19
|
+
export declare function handleDiscard(command: Extract<Command, {
|
|
20
|
+
cmd: 'Discard';
|
|
21
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
22
|
+
export declare function handleWaitJob(command: Extract<Command, {
|
|
23
|
+
cmd: 'WaitJob';
|
|
24
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
25
|
+
export declare function handleChangeDelay(command: Extract<Command, {
|
|
26
|
+
cmd: 'ChangeDelay';
|
|
27
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
28
|
+
export declare function handleMoveToWait(command: Extract<Command, {
|
|
29
|
+
cmd: 'MoveToWait';
|
|
30
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
31
|
+
export declare function handlePromoteJobs(command: Extract<Command, {
|
|
32
|
+
cmd: 'PromoteJobs';
|
|
33
|
+
}>, context: HandlerContext, requestId?: string): Promise<Response>;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jobId } from '../../../../domain/types/job';
|
|
2
|
+
import * as response from '../../../../domain/types/response';
|
|
3
|
+
import { validateNumericField } from '../../protocol';
|
|
4
|
+
export async function handleUpdate(command, context, requestId) {
|
|
5
|
+
const success = await context.queueManager.updateJobData(jobId(command.id), command.data);
|
|
6
|
+
if (success)
|
|
7
|
+
context.queueManager.emitDashboardEvent('job:data-updated', { jobId: command.id });
|
|
8
|
+
return success
|
|
9
|
+
? response.ok(undefined, requestId)
|
|
10
|
+
: response.error('Job not found or cannot be updated', requestId);
|
|
11
|
+
}
|
|
12
|
+
export async function handleChangePriority(command, context, requestId) {
|
|
13
|
+
const success = await context.queueManager.changePriority(jobId(command.id), command.priority, command.lifo);
|
|
14
|
+
if (success) {
|
|
15
|
+
context.queueManager.emitDashboardEvent('job:priority-changed', {
|
|
16
|
+
jobId: command.id,
|
|
17
|
+
newPriority: command.priority,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return success
|
|
21
|
+
? response.ok(undefined, requestId)
|
|
22
|
+
: response.error('Job not found or not in queue', requestId);
|
|
23
|
+
}
|
|
24
|
+
export async function handlePromote(command, context, requestId) {
|
|
25
|
+
const success = await context.queueManager.promote(jobId(command.id));
|
|
26
|
+
if (success)
|
|
27
|
+
context.queueManager.emitDashboardEvent('job:promoted', { jobId: command.id });
|
|
28
|
+
return success
|
|
29
|
+
? response.ok(undefined, requestId)
|
|
30
|
+
: response.error('Job not found or not delayed', requestId);
|
|
31
|
+
}
|
|
32
|
+
export async function handleUpdateParent(command, context, requestId) {
|
|
33
|
+
try {
|
|
34
|
+
await context.queueManager.updateJobParent(jobId(command.childId), jobId(command.parentId));
|
|
35
|
+
return response.ok(undefined, requestId);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return response.error(error instanceof Error ? error.message : 'Failed to update parent', requestId);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function handleMoveToDelayed(command, context, requestId) {
|
|
42
|
+
const id = jobId(command.id);
|
|
43
|
+
const success = await context.queueManager.moveToDelayed(id, command.delay, command.token);
|
|
44
|
+
if (success) {
|
|
45
|
+
context.queueManager.emitDashboardEvent('job:moved-to-delayed', {
|
|
46
|
+
jobId: command.id,
|
|
47
|
+
delay: command.delay,
|
|
48
|
+
});
|
|
49
|
+
return response.ok(undefined, requestId);
|
|
50
|
+
}
|
|
51
|
+
const state = await context.queueManager.getJobState(id);
|
|
52
|
+
if (state === 'unknown')
|
|
53
|
+
return response.error('Job not found', requestId);
|
|
54
|
+
return response.error(`Job is not active (current state: ${state})`, requestId);
|
|
55
|
+
}
|
|
56
|
+
export async function handleDiscard(command, context, requestId) {
|
|
57
|
+
const success = await context.queueManager.discard(jobId(command.id), command.token);
|
|
58
|
+
if (success)
|
|
59
|
+
context.queueManager.emitDashboardEvent('job:discarded', { jobId: command.id });
|
|
60
|
+
return success ? response.ok(undefined, requestId) : response.error('Job not found', requestId);
|
|
61
|
+
}
|
|
62
|
+
export async function handleWaitJob(command, context, requestId) {
|
|
63
|
+
const id = jobId(command.id);
|
|
64
|
+
const timeoutError = validateNumericField(command.timeout, 'timeout', {
|
|
65
|
+
min: 0,
|
|
66
|
+
max: 600000,
|
|
67
|
+
});
|
|
68
|
+
if (timeoutError)
|
|
69
|
+
return response.error(timeoutError, requestId);
|
|
70
|
+
const timeout = command.timeout ?? 30000;
|
|
71
|
+
const job = await context.queueManager.getJob(id);
|
|
72
|
+
if (!job)
|
|
73
|
+
return response.error('Job not found', requestId);
|
|
74
|
+
if (job.completedAt) {
|
|
75
|
+
return {
|
|
76
|
+
ok: true,
|
|
77
|
+
completed: true,
|
|
78
|
+
result: context.queueManager.getResult(id),
|
|
79
|
+
reqId: requestId,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const completed = await context.queueManager.waitForJobCompletion(id, timeout);
|
|
83
|
+
if (completed) {
|
|
84
|
+
return {
|
|
85
|
+
ok: true,
|
|
86
|
+
completed: true,
|
|
87
|
+
result: context.queueManager.getResult(id),
|
|
88
|
+
reqId: requestId,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return { ok: true, completed: false, reqId: requestId };
|
|
92
|
+
}
|
|
93
|
+
export async function handleChangeDelay(command, context, requestId) {
|
|
94
|
+
const success = await context.queueManager.changeDelay(jobId(command.id), command.delay, command.token);
|
|
95
|
+
if (success) {
|
|
96
|
+
context.queueManager.emitDashboardEvent('job:delay-changed', {
|
|
97
|
+
jobId: command.id,
|
|
98
|
+
newDelay: command.delay,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return success
|
|
102
|
+
? response.ok(undefined, requestId)
|
|
103
|
+
: response.error('Job not found or cannot change delay', requestId);
|
|
104
|
+
}
|
|
105
|
+
export async function handleMoveToWait(command, context, requestId) {
|
|
106
|
+
const id = jobId(command.id);
|
|
107
|
+
const state = await context.queueManager.getJobState(id);
|
|
108
|
+
if (state === 'active') {
|
|
109
|
+
const success = await context.queueManager.moveActiveToWait(id, command.token);
|
|
110
|
+
return success
|
|
111
|
+
? response.ok(undefined, requestId)
|
|
112
|
+
: response.error('Job not found or not active', requestId);
|
|
113
|
+
}
|
|
114
|
+
if (state === 'delayed') {
|
|
115
|
+
const success = await context.queueManager.promote(id);
|
|
116
|
+
return success
|
|
117
|
+
? response.ok(undefined, requestId)
|
|
118
|
+
: response.error('Job not found or not delayed', requestId);
|
|
119
|
+
}
|
|
120
|
+
if (state === 'failed') {
|
|
121
|
+
const job = await context.queueManager.getJob(id);
|
|
122
|
+
if (!job)
|
|
123
|
+
return response.error('Job not found', requestId);
|
|
124
|
+
const count = context.queueManager.retryDlq(job.queue, id);
|
|
125
|
+
return count > 0
|
|
126
|
+
? response.ok(undefined, requestId)
|
|
127
|
+
: response.error('Failed job not in DLQ', requestId);
|
|
128
|
+
}
|
|
129
|
+
if (state === 'waiting' || state === 'prioritized')
|
|
130
|
+
return response.ok(undefined, requestId);
|
|
131
|
+
return response.error(`Cannot move job from state '${state}' to waiting`, requestId);
|
|
132
|
+
}
|
|
133
|
+
export async function handlePromoteJobs(command, context, requestId) {
|
|
134
|
+
const count = await context.queueManager.promoteJobs(command.queue, command.count);
|
|
135
|
+
return { ok: true, count, reqId: requestId };
|
|
136
|
+
}
|