redis-smq 8.2.0 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/dist/cjs/src/common/event-bus/event-bus.d.ts +6 -0
- package/dist/cjs/src/common/event-bus/event-bus.d.ts.map +1 -0
- package/dist/cjs/src/common/event-bus/event-bus.js +13 -0
- package/dist/cjs/src/common/event-bus/event-bus.js.map +1 -0
- package/dist/cjs/src/common/index.d.ts +1 -0
- package/dist/cjs/src/common/index.d.ts.map +1 -1
- package/dist/cjs/src/common/index.js +1 -0
- package/dist/cjs/src/common/index.js.map +1 -1
- package/dist/cjs/src/common/redis-client/redis-client.d.ts +4 -9
- package/dist/cjs/src/common/redis-client/redis-client.d.ts.map +1 -1
- package/dist/cjs/src/common/redis-client/redis-client.js +8 -55
- package/dist/cjs/src/common/redis-client/redis-client.js.map +1 -1
- package/dist/cjs/src/common/redis-client/scripts/lua/delete-message.lua +124 -67
- package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts +16 -2
- package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts.map +1 -1
- package/dist/cjs/src/common/redis-client/scripts/scripts.js +2 -6
- package/dist/cjs/src/common/redis-client/scripts/scripts.js.map +1 -1
- package/dist/cjs/src/config/types/config.d.ts +4 -1
- package/dist/cjs/src/config/types/config.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts +4 -5
- package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer/consumer.js +6 -24
- package/dist/cjs/src/lib/consumer/consumer/consumer.js.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js.map +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js +25 -33
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js +35 -51
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js +4 -10
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js +12 -12
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +1 -1
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js.map +1 -1
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts.map +1 -1
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.js +25 -86
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.js.map +1 -1
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts.map +1 -1
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +16 -72
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js.map +1 -1
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.d.ts.map +1 -1
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js +10 -24
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js.map +1 -1
- package/dist/cjs/src/lib/index.d.ts +0 -1
- package/dist/cjs/src/lib/index.d.ts.map +1 -1
- package/dist/cjs/src/lib/index.js +0 -1
- package/dist/cjs/src/lib/index.js.map +1 -1
- package/dist/cjs/src/lib/message/_/_delete-message.d.ts +2 -1
- package/dist/cjs/src/lib/message/_/_delete-message.d.ts.map +1 -1
- package/dist/cjs/src/lib/message/_/_delete-message.js +47 -28
- package/dist/cjs/src/lib/message/_/_delete-message.js.map +1 -1
- package/dist/cjs/src/lib/message/message.d.ts +3 -3
- package/dist/cjs/src/lib/message/message.d.ts.map +1 -1
- package/dist/cjs/src/lib/message/message.js +103 -174
- package/dist/cjs/src/lib/message/message.js.map +1 -1
- package/dist/cjs/src/lib/message/types/delete-message.d.ts +12 -0
- package/dist/cjs/src/lib/message/types/delete-message.d.ts.map +1 -0
- package/dist/cjs/src/lib/{event-bus/types/config.js → message/types/delete-message.js} +1 -1
- package/dist/cjs/src/lib/message/types/delete-message.js.map +1 -0
- package/dist/cjs/src/lib/message/types/index.d.ts +1 -0
- package/dist/cjs/src/lib/message/types/index.d.ts.map +1 -1
- package/dist/cjs/src/lib/message/types/index.js +1 -0
- package/dist/cjs/src/lib/message/types/index.js.map +1 -1
- package/dist/cjs/src/lib/namespace/namespace.d.ts.map +1 -1
- package/dist/cjs/src/lib/namespace/namespace.js +10 -38
- package/dist/cjs/src/lib/namespace/namespace.js.map +1 -1
- package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts +1 -1
- package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts.map +1 -1
- package/dist/cjs/src/lib/producer/producer.d.ts +4 -5
- package/dist/cjs/src/lib/producer/producer.d.ts.map +1 -1
- package/dist/cjs/src/lib/producer/producer.js +1 -23
- package/dist/cjs/src/lib/producer/producer.js.map +1 -1
- package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts +1 -1
- package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue/_/_delete-queue.js +1 -1
- package/dist/cjs/src/lib/queue/_/_delete-queue.js.map +1 -1
- package/dist/cjs/src/lib/queue/queue.d.ts +1 -1
- package/dist/cjs/src/lib/queue/queue.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue/queue.js +90 -194
- package/dist/cjs/src/lib/queue/queue.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-acknowledged-messages.js +2 -2
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-acknowledged-messages.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-dead-lettered-messages.js +2 -2
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-dead-lettered-messages.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.js +3 -11
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js +9 -17
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/sequential-queue-pending-messages.js +2 -2
- package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/sequential-queue-pending-messages.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js +20 -47
- package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts +15 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts.map +1 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js +87 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js.map +1 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts +8 -5
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js +65 -79
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts +8 -5
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js +58 -118
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.d.ts +9 -6
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.js.map +1 -1
- package/dist/cjs/src/lib/queue-messages/types/index.d.ts +1 -0
- package/dist/cjs/src/lib/queue-messages/types/index.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.d.ts.map +1 -1
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js +17 -73
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js.map +1 -1
- package/dist/esm/src/common/event-bus/event-bus.d.ts +6 -0
- package/dist/esm/src/common/event-bus/event-bus.d.ts.map +1 -0
- package/dist/esm/src/common/event-bus/event-bus.js +9 -0
- package/dist/esm/src/common/event-bus/event-bus.js.map +1 -0
- package/dist/esm/src/common/index.d.ts +1 -0
- package/dist/esm/src/common/index.d.ts.map +1 -1
- package/dist/esm/src/common/index.js +1 -0
- package/dist/esm/src/common/index.js.map +1 -1
- package/dist/esm/src/common/redis-client/redis-client.d.ts +4 -9
- package/dist/esm/src/common/redis-client/redis-client.d.ts.map +1 -1
- package/dist/esm/src/common/redis-client/redis-client.js +11 -55
- package/dist/esm/src/common/redis-client/redis-client.js.map +1 -1
- package/dist/esm/src/common/redis-client/scripts/lua/delete-message.lua +124 -67
- package/dist/esm/src/common/redis-client/scripts/scripts.d.ts +16 -2
- package/dist/esm/src/common/redis-client/scripts/scripts.d.ts.map +1 -1
- package/dist/esm/src/common/redis-client/scripts/scripts.js +1 -4
- package/dist/esm/src/common/redis-client/scripts/scripts.js.map +1 -1
- package/dist/esm/src/config/types/config.d.ts +4 -1
- package/dist/esm/src/config/types/config.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/consumer/consumer.d.ts +4 -5
- package/dist/esm/src/lib/consumer/consumer/consumer.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/consumer/consumer.js +3 -21
- package/dist/esm/src/lib/consumer/consumer/consumer.js.map +1 -1
- package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js.map +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js +26 -34
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js +36 -52
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js +5 -11
- package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +1 -1
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js.map +1 -1
- package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
- package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts.map +1 -1
- package/dist/esm/src/lib/consumer-groups/consumer-groups.js +23 -84
- package/dist/esm/src/lib/consumer-groups/consumer-groups.js.map +1 -1
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts.map +1 -1
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +17 -73
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js.map +1 -1
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.d.ts.map +1 -1
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js +11 -25
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js.map +1 -1
- package/dist/esm/src/lib/index.d.ts +0 -1
- package/dist/esm/src/lib/index.d.ts.map +1 -1
- package/dist/esm/src/lib/index.js +0 -1
- package/dist/esm/src/lib/index.js.map +1 -1
- package/dist/esm/src/lib/message/_/_delete-message.d.ts +2 -1
- package/dist/esm/src/lib/message/_/_delete-message.d.ts.map +1 -1
- package/dist/esm/src/lib/message/_/_delete-message.js +50 -31
- package/dist/esm/src/lib/message/_/_delete-message.js.map +1 -1
- package/dist/esm/src/lib/message/message.d.ts +3 -3
- package/dist/esm/src/lib/message/message.d.ts.map +1 -1
- package/dist/esm/src/lib/message/message.js +104 -175
- package/dist/esm/src/lib/message/message.js.map +1 -1
- package/dist/esm/src/lib/message/types/delete-message.d.ts +12 -0
- package/dist/esm/src/lib/message/types/delete-message.d.ts.map +1 -0
- package/dist/esm/src/lib/message/types/delete-message.js +2 -0
- package/dist/esm/src/lib/message/types/delete-message.js.map +1 -0
- package/dist/esm/src/lib/message/types/index.d.ts +1 -0
- package/dist/esm/src/lib/message/types/index.d.ts.map +1 -1
- package/dist/esm/src/lib/message/types/index.js +1 -0
- package/dist/esm/src/lib/message/types/index.js.map +1 -1
- package/dist/esm/src/lib/namespace/namespace.d.ts.map +1 -1
- package/dist/esm/src/lib/namespace/namespace.js +11 -39
- package/dist/esm/src/lib/namespace/namespace.js.map +1 -1
- package/dist/esm/src/lib/producer/event-bus-publisher.d.ts +1 -1
- package/dist/esm/src/lib/producer/event-bus-publisher.d.ts.map +1 -1
- package/dist/esm/src/lib/producer/producer.d.ts +4 -5
- package/dist/esm/src/lib/producer/producer.d.ts.map +1 -1
- package/dist/esm/src/lib/producer/producer.js +2 -24
- package/dist/esm/src/lib/producer/producer.js.map +1 -1
- package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts +1 -1
- package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts.map +1 -1
- package/dist/esm/src/lib/queue/_/_delete-queue.js +1 -1
- package/dist/esm/src/lib/queue/_/_delete-queue.js.map +1 -1
- package/dist/esm/src/lib/queue/queue.d.ts +1 -1
- package/dist/esm/src/lib/queue/queue.d.ts.map +1 -1
- package/dist/esm/src/lib/queue/queue.js +88 -192
- package/dist/esm/src/lib/queue/queue.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-acknowledged-messages.js +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-acknowledged-messages.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-dead-lettered-messages.js +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-dead-lettered-messages.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.js +4 -12
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js +10 -18
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/sequential-queue-pending-messages.js +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/sequential-queue-pending-messages.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js +21 -48
- package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts +15 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts.map +1 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js +83 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js.map +1 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts +8 -5
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js +66 -80
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts +8 -5
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js +59 -119
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.d.ts +9 -6
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage.js.map +1 -1
- package/dist/esm/src/lib/queue-messages/types/index.d.ts +1 -0
- package/dist/esm/src/lib/queue-messages/types/index.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.d.ts.map +1 -1
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js +18 -74
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
- package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.js +0 -8
- package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
- package/dist/cjs/src/lib/event-bus/errors/index.d.ts +0 -2
- package/dist/cjs/src/lib/event-bus/errors/index.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/errors/index.js +0 -6
- package/dist/cjs/src/lib/event-bus/errors/index.js.map +0 -1
- package/dist/cjs/src/lib/event-bus/event-bus.d.ts +0 -11
- package/dist/cjs/src/lib/event-bus/event-bus.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/event-bus.js +0 -58
- package/dist/cjs/src/lib/event-bus/event-bus.js.map +0 -1
- package/dist/cjs/src/lib/event-bus/index.d.ts +0 -4
- package/dist/cjs/src/lib/event-bus/index.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/index.js +0 -20
- package/dist/cjs/src/lib/event-bus/index.js.map +0 -1
- package/dist/cjs/src/lib/event-bus/types/config.d.ts +0 -4
- package/dist/cjs/src/lib/event-bus/types/config.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/types/config.js.map +0 -1
- package/dist/cjs/src/lib/event-bus/types/index.d.ts +0 -2
- package/dist/cjs/src/lib/event-bus/types/index.d.ts.map +0 -1
- package/dist/cjs/src/lib/event-bus/types/index.js +0 -18
- package/dist/cjs/src/lib/event-bus/types/index.js.map +0 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.d.ts +0 -12
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.d.ts.map +0 -1
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.js +0 -127
- package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.js.map +0 -1
- package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
- package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.js +0 -4
- package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
- package/dist/esm/src/lib/event-bus/errors/index.d.ts +0 -2
- package/dist/esm/src/lib/event-bus/errors/index.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/errors/index.js +0 -2
- package/dist/esm/src/lib/event-bus/errors/index.js.map +0 -1
- package/dist/esm/src/lib/event-bus/event-bus.d.ts +0 -11
- package/dist/esm/src/lib/event-bus/event-bus.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/event-bus.js +0 -51
- package/dist/esm/src/lib/event-bus/event-bus.js.map +0 -1
- package/dist/esm/src/lib/event-bus/index.d.ts +0 -4
- package/dist/esm/src/lib/event-bus/index.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/index.js +0 -4
- package/dist/esm/src/lib/event-bus/index.js.map +0 -1
- package/dist/esm/src/lib/event-bus/types/config.d.ts +0 -4
- package/dist/esm/src/lib/event-bus/types/config.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/types/config.js +0 -2
- package/dist/esm/src/lib/event-bus/types/config.js.map +0 -1
- package/dist/esm/src/lib/event-bus/types/index.d.ts +0 -2
- package/dist/esm/src/lib/event-bus/types/index.d.ts.map +0 -1
- package/dist/esm/src/lib/event-bus/types/index.js +0 -2
- package/dist/esm/src/lib/event-bus/types/index.js.map +0 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.d.ts +0 -12
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.d.ts.map +0 -1
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.js +0 -123
- package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-message-storage-list.js.map +0 -1
|
@@ -14,7 +14,7 @@ class QueueRateLimit {
|
|
|
14
14
|
constructor() {
|
|
15
15
|
this.shutdown = (cb) => {
|
|
16
16
|
this.logger.debug('Shutting down QueueRateLimit');
|
|
17
|
-
redis_smq_common_1.async.
|
|
17
|
+
redis_smq_common_1.async.series([this.queue.shutdown, this.redisClient.shutdown], (err) => {
|
|
18
18
|
if (err) {
|
|
19
19
|
this.logger.error(`Error during shutdown: ${err.message}`);
|
|
20
20
|
return cb(err);
|
|
@@ -28,30 +28,14 @@ class QueueRateLimit {
|
|
|
28
28
|
this.redisClient = new redis_client_js_1.RedisClient();
|
|
29
29
|
this.redisClient.on('error', (err) => this.logger.error(err));
|
|
30
30
|
this.queue = new index_js_2.Queue();
|
|
31
|
-
this.logger.debug('QueueRateLimit initialized
|
|
31
|
+
this.logger.debug('QueueRateLimit initialized');
|
|
32
32
|
}
|
|
33
33
|
clear(queue, cb) {
|
|
34
34
|
const queueName = typeof queue === 'string' ? queue : `${queue.name}@${queue.ns}`;
|
|
35
35
|
this.logger.debug(`Clearing rate limit for queue: ${queueName}`);
|
|
36
|
-
this.redisClient
|
|
37
|
-
if (err) {
|
|
38
|
-
this.logger.error(`Failed to get Redis client instance: ${err.message}`);
|
|
39
|
-
return cb(err);
|
|
40
|
-
}
|
|
41
|
-
if (!client) {
|
|
42
|
-
this.logger.error('Redis client instance is empty');
|
|
43
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
44
|
-
}
|
|
36
|
+
(0, redis_smq_common_1.withRedisClient)(this.redisClient, (client, cb) => {
|
|
45
37
|
this.logger.debug(`Validating queue parameters for: ${queueName}`);
|
|
46
|
-
(0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, (
|
|
47
|
-
if (err) {
|
|
48
|
-
this.logger.error(`Failed to validate queue parameters: ${err.message}`);
|
|
49
|
-
return cb(err);
|
|
50
|
-
}
|
|
51
|
-
if (!queueParams) {
|
|
52
|
-
this.logger.error('Queue parameters validation returned empty result');
|
|
53
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
54
|
-
}
|
|
38
|
+
redis_smq_common_1.async.withCallback((cb) => (0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, cb), (queueParams, cb) => {
|
|
55
39
|
const { keyQueueProperties, keyQueueRateLimitCounter } = redis_keys_js_1.redisKeys.getQueueKeys(queueParams, null);
|
|
56
40
|
this.logger.debug(`Clearing rate limit for queue ${queueParams.name}@${queueParams.ns} using keys: ${keyQueueProperties}, ${keyQueueRateLimitCounter}`);
|
|
57
41
|
const multi = client.multi();
|
|
@@ -65,21 +49,13 @@ class QueueRateLimit {
|
|
|
65
49
|
this.logger.info(`Successfully cleared rate limit for queue: ${queueParams.name}@${queueParams.ns}`);
|
|
66
50
|
cb();
|
|
67
51
|
});
|
|
68
|
-
});
|
|
69
|
-
});
|
|
52
|
+
}, cb);
|
|
53
|
+
}, cb);
|
|
70
54
|
}
|
|
71
55
|
set(queue, rateLimit, cb) {
|
|
72
56
|
const queueName = typeof queue === 'string' ? queue : `${queue.name}@${queue.ns}`;
|
|
73
57
|
this.logger.debug(`Setting rate limit for queue: ${queueName}, limit: ${rateLimit.limit}, interval: ${rateLimit.interval}ms`);
|
|
74
|
-
this.redisClient
|
|
75
|
-
if (err) {
|
|
76
|
-
this.logger.error(`Failed to get Redis client instance: ${err.message}`);
|
|
77
|
-
return cb(err);
|
|
78
|
-
}
|
|
79
|
-
if (!client) {
|
|
80
|
-
this.logger.error('Redis client instance is empty');
|
|
81
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
82
|
-
}
|
|
58
|
+
(0, redis_smq_common_1.withRedisClient)(this.redisClient, (client, cb) => {
|
|
83
59
|
this.logger.debug(`Validating queue parameters for: ${queueName}`);
|
|
84
60
|
(0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, (err, queueParams) => {
|
|
85
61
|
if (err) {
|
|
@@ -117,20 +93,12 @@ class QueueRateLimit {
|
|
|
117
93
|
cb();
|
|
118
94
|
});
|
|
119
95
|
});
|
|
120
|
-
});
|
|
96
|
+
}, cb);
|
|
121
97
|
}
|
|
122
98
|
hasExceeded(queue, rateLimit, cb) {
|
|
123
99
|
const queueName = typeof queue === 'string' ? queue : `${queue.name}@${queue.ns}`;
|
|
124
100
|
this.logger.debug(`Checking if rate limit exceeded for queue: ${queueName}, limit: ${rateLimit.limit}, interval: ${rateLimit.interval}ms`);
|
|
125
|
-
this.redisClient
|
|
126
|
-
if (err) {
|
|
127
|
-
this.logger.error(`Failed to get Redis client instance: ${err.message}`);
|
|
128
|
-
return cb(err);
|
|
129
|
-
}
|
|
130
|
-
if (!client) {
|
|
131
|
-
this.logger.error('Redis client instance is empty');
|
|
132
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
133
|
-
}
|
|
101
|
+
(0, redis_smq_common_1.withRedisClient)(this.redisClient, (client, cb) => {
|
|
134
102
|
this.logger.debug(`Validating queue parameters for: ${queueName}`);
|
|
135
103
|
(0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, (err, queueParams) => {
|
|
136
104
|
if (err) {
|
|
@@ -151,30 +119,14 @@ class QueueRateLimit {
|
|
|
151
119
|
cb(null, hasExceeded);
|
|
152
120
|
});
|
|
153
121
|
});
|
|
154
|
-
});
|
|
122
|
+
}, cb);
|
|
155
123
|
}
|
|
156
124
|
get(queue, cb) {
|
|
157
125
|
const queueName = typeof queue === 'string' ? queue : `${queue.name}@${queue.ns}`;
|
|
158
126
|
this.logger.debug(`Getting rate limit for queue: ${queueName}`);
|
|
159
|
-
this.redisClient
|
|
160
|
-
if (err) {
|
|
161
|
-
this.logger.error(`Failed to get Redis client instance: ${err.message}`);
|
|
162
|
-
return cb(err);
|
|
163
|
-
}
|
|
164
|
-
if (!client) {
|
|
165
|
-
this.logger.error('Redis client instance is empty');
|
|
166
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
167
|
-
}
|
|
127
|
+
(0, redis_smq_common_1.withRedisClient)(this.redisClient, (client, cb) => {
|
|
168
128
|
this.logger.debug(`Validating queue parameters for: ${queueName}`);
|
|
169
|
-
(0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, (
|
|
170
|
-
if (err) {
|
|
171
|
-
this.logger.error(`Failed to validate queue parameters: ${err.message}`);
|
|
172
|
-
return cb(err);
|
|
173
|
-
}
|
|
174
|
-
if (!queueParams) {
|
|
175
|
-
this.logger.error('Queue parameters validation returned empty result');
|
|
176
|
-
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
177
|
-
}
|
|
129
|
+
redis_smq_common_1.async.withCallback((cb) => (0, _parse_queue_params_and_validate_js_1._parseQueueParamsAndValidate)(client, queue, cb), (queueParams, cb) => {
|
|
178
130
|
const { keyQueueProperties } = redis_keys_js_1.redisKeys.getQueueKeys(queueParams, null);
|
|
179
131
|
this.logger.debug(`Getting rate limit using key: ${keyQueueProperties}`);
|
|
180
132
|
client.hget(keyQueueProperties, String(index_js_2.EQueueProperty.RATE_LIMIT), (err, reply) => {
|
|
@@ -186,20 +138,12 @@ class QueueRateLimit {
|
|
|
186
138
|
this.logger.debug(`No rate limit found for queue: ${queueParams.name}@${queueParams.ns}`);
|
|
187
139
|
return cb(null, null);
|
|
188
140
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
cb(null, rateLimit);
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
this.logger.error(`Failed to parse rate limit JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
196
|
-
cb(error instanceof Error
|
|
197
|
-
? error
|
|
198
|
-
: new Error(`Failed to parse rate limit JSON: ${error}`));
|
|
199
|
-
}
|
|
141
|
+
const rateLimit = JSON.parse(reply);
|
|
142
|
+
this.logger.debug(`Retrieved rate limit for queue ${queueParams.name}@${queueParams.ns}: limit: ${rateLimit.limit}, interval: ${rateLimit.interval}ms`);
|
|
143
|
+
cb(null, rateLimit);
|
|
200
144
|
});
|
|
201
|
-
});
|
|
202
|
-
});
|
|
145
|
+
}, cb);
|
|
146
|
+
}, cb);
|
|
203
147
|
}
|
|
204
148
|
}
|
|
205
149
|
exports.QueueRateLimit = QueueRateLimit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-rate-limit.js","sourceRoot":"","sources":["../../../../../src/lib/queue-rate-limit/queue-rate-limit.ts"],"names":[],"mappings":";;;AASA,
|
|
1
|
+
{"version":3,"file":"queue-rate-limit.js","sourceRoot":"","sources":["../../../../../src/lib/queue-rate-limit/queue-rate-limit.ts"],"names":[],"mappings":";;;AASA,uDAM0B;AAC1B,+EAAwE;AACxE,6EAA8E;AAC9E,yEAAkE;AAClE,oDAAsD;AACtD,wGAA8F;AAC9F,gDAK2B;AAC3B,iFAAwE;AACxE,gDAI2B;AAS3B,MAAa,cAAc;IAKzB;QA0RA,aAAQ,GAAG,CAAC,EAAmB,EAAQ,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,wBAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrE,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBACnE,EAAE,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAnSA,IAAI,CAAC,MAAM,GAAG,yBAAM,CAAC,SAAS,CAC5B,wBAAa,CAAC,YAAY,EAAE,CAAC,MAAM,EACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CACpC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAW,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAQD,KAAK,CAAC,KAA4B,EAAE,EAAmB;QACrD,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAEjE,IAAA,kCAAe,EACb,IAAI,CAAC,WAAW,EAChB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;YACnE,wBAAK,CAAC,YAAY,CAChB,CAAC,EAA2B,EAAE,EAAE,CAC9B,IAAA,kEAA4B,EAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EACjD,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE;gBAClB,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,GACpD,yBAAS,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,gBAAgB,kBAAkB,KAAK,wBAAwB,EAAE,CACrI,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAEpC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjB,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8CAA8C,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,CACnF,CAAC;oBACF,EAAE,EAAE,CAAC;gBACP,CAAC,CAAC,CAAC;YACL,CAAC,EACD,EAAE,CACH,CAAC;QACJ,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAaD,GAAG,CACD,KAA4B,EAC5B,SAA0B,EAC1B,EAAmB;QAEnB,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,SAAS,YAAY,SAAS,CAAC,KAAK,eAAe,SAAS,CAAC,QAAQ,IAAI,CAC3G,CAAC;QAEF,IAAA,kCAAe,EACb,IAAI,CAAC,WAAW,EAChB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;YACnE,IAAA,kEAA4B,EAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;oBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,CACpD,CAAC;oBACF,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAGD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;oBAClE,OAAO,EAAE,CAAC,IAAI,0CAA+B,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gCAAgC,SAAS,CAAC,QAAQ,EAAE,CACrD,CAAC;oBACF,OAAO,EAAE,CAAC,IAAI,6CAAkC,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAED,MAAM,kBAAkB,GAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,KAAK,iBAAiB,QAAQ,iBAAiB,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,CAC7G,CAAC;gBAEF,MAAM,EAAE,kBAAkB,EAAE,GAAG,yBAAS,CAAC,YAAY,CACnD,WAAW,EACX,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,kBAAkB,EAAE,CACtD,CAAC;gBAEF,MAAM,CAAC,SAAS,CACd,2BAAc,CAAC,oBAAoB,EACnC,CAAC,kBAAkB,CAAC,EACpB,CAAC,yBAAc,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAC/D,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC9D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC;oBACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,CACjF,CAAC;wBACF,OAAO,EAAE,CAAC,IAAI,2CAAgC,EAAE,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0CAA0C,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,YAAY,KAAK,eAAe,QAAQ,IAAI,CACzH,CAAC;oBACF,EAAE,EAAE,CAAC;gBACP,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IASD,WAAW,CACT,KAA4B,EAC5B,SAA0B,EAC1B,EAAsB;QAEtB,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8CAA8C,SAAS,YAAY,SAAS,CAAC,KAAK,eAAe,SAAS,CAAC,QAAQ,IAAI,CACxH,CAAC;QAEF,IAAA,kCAAe,EACb,IAAI,CAAC,WAAW,EAChB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;YACnE,IAAA,kEAA4B,EAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;oBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,CACpD,CAAC;oBACF,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kCAAkC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,CACvE,CAAC;gBACF,IAAA,mDAAqB,EACnB,MAAM,EACN,WAAW,EACX,SAAS,EACT,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;oBACnB,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CACxH,CAAC;oBACF,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACxB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IASD,GAAG,CACD,KAA4B,EAC5B,EAAqC;QAErC,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAChE,IAAA,kCAAe,EACb,IAAI,CAAC,WAAW,EAChB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;YACnE,wBAAK,CAAC,YAAY,CAChB,CAAC,EAA2B,EAAE,EAAE,CAC9B,IAAA,kEAA4B,EAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EACjD,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE;gBAClB,MAAM,EAAE,kBAAkB,EAAE,GAAG,yBAAS,CAAC,YAAY,CACnD,WAAW,EACX,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,kBAAkB,EAAE,CACtD,CAAC;gBAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,EACjC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC9D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC;oBAED,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kCAAkC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,CACvE,CAAC;wBACF,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACxB,CAAC;oBAED,MAAM,SAAS,GAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kCAAkC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,YAAY,SAAS,CAAC,KAAK,eAAe,SAAS,CAAC,QAAQ,IAAI,CACrI,CAAC;oBACF,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtB,CAAC,CACF,CAAC;YACJ,CAAC,EACD,EAAE,CACH,CAAC;QACJ,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;CAkBF;AA1SD,wCA0SC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../../src/common/event-bus/event-bus.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,cAAc,CAAC;;CAKjE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EventBusRedisFactory } from 'redis-smq-common';
|
|
2
|
+
import { Configuration } from '../../config/index.js';
|
|
3
|
+
export class EventBus extends EventBusRedisFactory {
|
|
4
|
+
constructor() {
|
|
5
|
+
const config = Configuration.getSetConfig();
|
|
6
|
+
super(config.redis);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=event-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/common/event-bus/event-bus.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,MAAM,OAAO,QAAS,SAAQ,oBAAoC;IAChE;QACE,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class RedisClient extends
|
|
3
|
-
|
|
4
|
-
protected
|
|
5
|
-
protected createClient(config: IRedisConfig, cb: ICallback<IRedisClient>): void;
|
|
6
|
-
init: (cb: ICallback<void>) => void;
|
|
7
|
-
getSetInstance: (cb: ICallback<IRedisClient>) => void;
|
|
8
|
-
shutdown: (cb: ICallback<void>) => void;
|
|
9
|
-
getInstance(): IRedisClient | Error;
|
|
1
|
+
import { ICallback, IRedisClient, IRedisConfig, RedisClientFactory } from 'redis-smq-common';
|
|
2
|
+
export declare class RedisClient extends RedisClientFactory {
|
|
3
|
+
constructor(cfg?: IRedisConfig);
|
|
4
|
+
protected setupClient(client: IRedisClient, cb: ICallback<IRedisClient>): void;
|
|
10
5
|
}
|
|
11
6
|
//# sourceMappingURL=redis-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-client.d.ts","sourceRoot":"","sources":["../../../../../src/common/redis-client/redis-client.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"redis-client.d.ts","sourceRoot":"","sources":["../../../../../src/common/redis-client/redis-client.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,WAAY,SAAQ,kBAAkB;gBACrC,GAAG,CAAC,EAAE,YAAY;cAKX,WAAW,CAC5B,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC;CAO9B"}
|
|
@@ -1,61 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RedisClientFactory, } from 'redis-smq-common';
|
|
2
2
|
import { Configuration } from '../../config/index.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import { scriptFileMap } from './scripts/scripts.js';
|
|
4
|
+
export class RedisClient extends RedisClientFactory {
|
|
5
|
+
constructor(cfg) {
|
|
6
|
+
const config = cfg ?? Configuration.getSetConfig().redis;
|
|
7
|
+
super(config);
|
|
8
|
+
}
|
|
9
|
+
setupClient(client, cb) {
|
|
10
|
+
client.loadScriptFiles(scriptFileMap, (err) => {
|
|
10
11
|
if (err)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return cb(new CallbackEmptyReplyError());
|
|
14
|
-
loadScriptFiles(client, (err) => {
|
|
15
|
-
if (err)
|
|
16
|
-
return cb(err);
|
|
17
|
-
cb(null, client);
|
|
18
|
-
});
|
|
12
|
+
cb(err);
|
|
13
|
+
cb(null, client);
|
|
19
14
|
});
|
|
20
15
|
}
|
|
21
|
-
init = (cb) => {
|
|
22
|
-
this.getSetInstance((err) => cb(err));
|
|
23
|
-
};
|
|
24
|
-
getSetInstance = (cb) => {
|
|
25
|
-
if (!this.locked) {
|
|
26
|
-
if (!this.instance) {
|
|
27
|
-
this.locked = true;
|
|
28
|
-
this.createClient(Configuration.getSetConfig().redis, (err, client) => {
|
|
29
|
-
this.locked = false;
|
|
30
|
-
if (err)
|
|
31
|
-
return cb(err);
|
|
32
|
-
if (!client)
|
|
33
|
-
return cb(new CallbackEmptyReplyError());
|
|
34
|
-
this.instance = client;
|
|
35
|
-
this.instance.on('error', (err) => this.emit('error', err));
|
|
36
|
-
cb(null, this.instance);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
else
|
|
40
|
-
cb(null, this.instance);
|
|
41
|
-
}
|
|
42
|
-
else
|
|
43
|
-
cb(new RedisClientInstanceLockError());
|
|
44
|
-
};
|
|
45
|
-
shutdown = (cb) => {
|
|
46
|
-
if (this.instance) {
|
|
47
|
-
this.instance.halt(() => {
|
|
48
|
-
this.instance = null;
|
|
49
|
-
cb();
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else
|
|
53
|
-
cb();
|
|
54
|
-
};
|
|
55
|
-
getInstance() {
|
|
56
|
-
if (!this.instance)
|
|
57
|
-
return new PanicError(`Use first getSetInstance() to initialize the RedisClientInstance class`);
|
|
58
|
-
return this.instance;
|
|
59
|
-
}
|
|
60
16
|
}
|
|
61
17
|
//# sourceMappingURL=redis-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-client.js","sourceRoot":"","sources":["../../../../../src/common/redis-client/redis-client.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"redis-client.js","sourceRoot":"","sources":["../../../../../src/common/redis-client/redis-client.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,WAAY,SAAQ,kBAAkB;IACjD,YAAY,GAAkB;QAC5B,MAAM,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEkB,WAAW,CAC5B,MAAoB,EACpB,EAA2B;QAE3B,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,GAAG;gBAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
-- Constants for queue properties and message statuses
|
|
1
2
|
local EQueuePropertyQueueType = ARGV[1]
|
|
2
3
|
local EQueuePropertyMessagesCount = ARGV[2]
|
|
3
4
|
local EQueuePropertyQueueTypePriorityQueue = ARGV[3]
|
|
@@ -12,93 +13,149 @@ local EMessagePropertyStatusDeadLettered = ARGV[11]
|
|
|
12
13
|
local EMessagePropertyStatusUnackDelaying = ARGV[12]
|
|
13
14
|
local EMessagePropertyStatusUnackRequeuing = ARGV[13]
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
-- Response status constants
|
|
17
|
+
local STATUS = {
|
|
18
|
+
OK = 'OK',
|
|
19
|
+
MESSAGE_NOT_FOUND = 'MESSAGE_NOT_FOUND',
|
|
20
|
+
MESSAGE_IN_PROCESS = 'MESSAGE_IN_PROCESS',
|
|
21
|
+
INVALID_PARAMETERS = 'INVALID_PARAMETERS',
|
|
22
|
+
PARTIAL_SUCCESS = 'PARTIAL_SUCCESS'
|
|
23
|
+
}
|
|
16
24
|
|
|
17
|
-
|
|
18
|
-
local
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
---
|
|
25
|
+
-- Key placeholders
|
|
26
|
+
local keys = {
|
|
27
|
+
queueScheduled = '',
|
|
28
|
+
queueDelayed = '',
|
|
29
|
+
queueRequeued = '',
|
|
30
|
+
message = '',
|
|
31
|
+
queueProperties = '',
|
|
32
|
+
queuePending = '',
|
|
33
|
+
queueDL = '',
|
|
34
|
+
queueAcknowledged = '',
|
|
35
|
+
queuePriorityPending = '',
|
|
36
|
+
queueMessages = '',
|
|
37
|
+
}
|
|
32
38
|
|
|
39
|
+
-- Offset trackers
|
|
33
40
|
local keyIndexOffset = 0
|
|
34
41
|
local argvIndexOffset = 13
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
local
|
|
39
|
-
redis.call("HINCRBY", keyQueueProperties, EQueuePropertyMessagesCount, -1)
|
|
40
|
-
end
|
|
43
|
+
-- Removes a message from the corresponding queue (scheduled, acknowledged, delayed, requeue, pending) based on status
|
|
44
|
+
local function removeFromStatusQueue(messageId, messageStatus)
|
|
45
|
+
local deleted = 0
|
|
41
46
|
|
|
42
|
-
local function deleteMessage()
|
|
43
|
-
local messageStatus = redis.call("HGET", keyMessage, EMessagePropertyStatus)
|
|
44
|
-
if messageStatus == false then
|
|
45
|
-
return 'MESSAGE_NOT_FOUND'
|
|
46
|
-
end
|
|
47
|
-
if messageStatus == EMessagePropertyStatusProcessing then
|
|
48
|
-
return 'MESSAGE_IN_PROCESS'
|
|
49
|
-
end
|
|
50
|
-
local deleted = 0;
|
|
51
47
|
if messageStatus == EMessagePropertyStatusAcknowledged then
|
|
52
|
-
deleted = redis.call("LREM",
|
|
48
|
+
deleted = redis.call("LREM", keys.queueAcknowledged, 1, messageId)
|
|
53
49
|
elseif messageStatus == EMessagePropertyStatusDeadLettered then
|
|
54
|
-
deleted = redis.call("LREM",
|
|
50
|
+
deleted = redis.call("LREM", keys.queueDL, 1, messageId)
|
|
55
51
|
elseif messageStatus == EMessagePropertyStatusScheduled then
|
|
56
|
-
deleted = redis.call("ZREM",
|
|
52
|
+
deleted = redis.call("ZREM", keys.queueScheduled, messageId)
|
|
57
53
|
elseif messageStatus == EMessagePropertyStatusUnackDelaying then
|
|
58
|
-
deleted = redis.call("LREM",
|
|
54
|
+
deleted = redis.call("LREM", keys.queueDelayed, 1, messageId)
|
|
59
55
|
elseif messageStatus == EMessagePropertyStatusUnackRequeuing then
|
|
60
|
-
deleted = redis.call("LREM",
|
|
56
|
+
deleted = redis.call("LREM", keys.queueRequeued, 1, messageId)
|
|
61
57
|
elseif messageStatus == EMessagePropertyStatusPending then
|
|
62
|
-
local queueType = redis.call("HGET",
|
|
63
|
-
if queueType
|
|
58
|
+
local queueType = redis.call("HGET", keys.queueProperties, EQueuePropertyQueueType)
|
|
59
|
+
if queueType then
|
|
64
60
|
if queueType == EQueuePropertyQueueTypePriorityQueue then
|
|
65
|
-
deleted = redis.call("ZREM",
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
deleted = redis.call("LREM", keyQueuePending, 1, messageId)
|
|
61
|
+
deleted = redis.call("ZREM", keys.queuePriorityPending, messageId)
|
|
62
|
+
elseif queueType == EQueuePropertyQueueTypeFIFOQueue or queueType == EQueuePropertyQueueTypeLIFOQueue then
|
|
63
|
+
deleted = redis.call("LREM", keys.queuePending, 1, messageId)
|
|
69
64
|
end
|
|
70
65
|
end
|
|
71
66
|
end
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
|
|
68
|
+
return deleted
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
-- Deletes a message and returns the status
|
|
72
|
+
local function deleteMessage(messageId)
|
|
73
|
+
-- Check if message exists and get its status
|
|
74
|
+
local messageStatus = redis.call("HGET", keys.message, EMessagePropertyStatus)
|
|
75
|
+
if not messageStatus then
|
|
76
|
+
return STATUS.MESSAGE_NOT_FOUND
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
-- For messages in process, we'll just report the status but not attempt deletion
|
|
80
|
+
if messageStatus == EMessagePropertyStatusProcessing then
|
|
81
|
+
return STATUS.MESSAGE_IN_PROCESS
|
|
75
82
|
end
|
|
76
|
-
|
|
83
|
+
|
|
84
|
+
-- Try to remove the message from acknowledged, dl, scheduled, etc. based on message status
|
|
85
|
+
removeFromStatusQueue(messageId, messageStatus)
|
|
86
|
+
|
|
87
|
+
-- Delete the message
|
|
88
|
+
redis.call("DEL", keys.message)
|
|
89
|
+
|
|
90
|
+
-- Remove the message ID from queue messages
|
|
91
|
+
redis.call("SREM", keys.queueMessages, messageId)
|
|
92
|
+
|
|
93
|
+
-- Decrements the message count in queue properties
|
|
94
|
+
redis.call("HINCRBY", keys.queueProperties, EQueuePropertyMessagesCount, -1)
|
|
95
|
+
|
|
96
|
+
return STATUS.OK
|
|
77
97
|
end
|
|
78
98
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
-- Setup keys for a message
|
|
100
|
+
local function setupKeysForMessage(baseOffset)
|
|
101
|
+
keys.queueScheduled = KEYS[baseOffset + 1]
|
|
102
|
+
keys.queueDelayed = KEYS[baseOffset + 2]
|
|
103
|
+
keys.queueRequeued = KEYS[baseOffset + 3]
|
|
104
|
+
keys.message = KEYS[baseOffset + 4]
|
|
105
|
+
keys.queueProperties = KEYS[baseOffset + 5]
|
|
106
|
+
keys.queuePending = KEYS[baseOffset + 6]
|
|
107
|
+
keys.queueDL = KEYS[baseOffset + 7]
|
|
108
|
+
keys.queueAcknowledged = KEYS[baseOffset + 8]
|
|
109
|
+
keys.queuePriorityPending = KEYS[baseOffset + 9]
|
|
110
|
+
keys.queueMessages = KEYS[baseOffset + 10]
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
-- Main execution logic
|
|
114
|
+
local function main()
|
|
115
|
+
-- Counters for tracking results
|
|
116
|
+
local processedCount = 0
|
|
117
|
+
local successCount = 0
|
|
118
|
+
local notFoundCount = 0
|
|
119
|
+
local inProcessCount = 0
|
|
120
|
+
|
|
121
|
+
-- Check if we have enough arguments
|
|
122
|
+
if #ARGV <= argvIndexOffset then
|
|
123
|
+
return STATUS.INVALID_PARAMETERS
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
-- Process each message ID
|
|
127
|
+
for i = argvIndexOffset + 1, #ARGV do
|
|
128
|
+
local messageId = ARGV[i]
|
|
129
|
+
processedCount = processedCount + 1
|
|
130
|
+
|
|
131
|
+
-- Setup keys for this message
|
|
132
|
+
setupKeysForMessage(keyIndexOffset)
|
|
133
|
+
keyIndexOffset = keyIndexOffset + 10
|
|
134
|
+
|
|
135
|
+
-- Try to delete the message
|
|
136
|
+
local messageStatus = deleteMessage(messageId)
|
|
137
|
+
|
|
138
|
+
-- Track results but continue processing regardless of status
|
|
139
|
+
if messageStatus == STATUS.OK then
|
|
140
|
+
successCount = successCount + 1
|
|
141
|
+
elseif messageStatus == STATUS.MESSAGE_NOT_FOUND then
|
|
142
|
+
notFoundCount = notFoundCount + 1
|
|
143
|
+
elseif messageStatus == STATUS.MESSAGE_IN_PROCESS then
|
|
144
|
+
inProcessCount = inProcessCount + 1
|
|
100
145
|
end
|
|
146
|
+
|
|
147
|
+
-- Always continue to the next message
|
|
101
148
|
end
|
|
149
|
+
|
|
150
|
+
-- Return an array instead of a table for compatibility with Redis
|
|
151
|
+
-- Format: [processed, success, notFound, inProcess]
|
|
152
|
+
return {
|
|
153
|
+
processedCount,
|
|
154
|
+
successCount,
|
|
155
|
+
notFoundCount,
|
|
156
|
+
inProcessCount
|
|
157
|
+
}
|
|
102
158
|
end
|
|
103
159
|
|
|
104
|
-
return
|
|
160
|
+
-- Execute the main function and return the result
|
|
161
|
+
return main()
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ICallback, IRedisClient } from 'redis-smq-common';
|
|
2
1
|
export declare enum ELuaScriptName {
|
|
3
2
|
PUBLISH_SCHEDULED_MESSAGE = "PUBLISH_SCHEDULED_MESSAGE",
|
|
4
3
|
PUBLISH_MESSAGE = "PUBLISH_MESSAGE",
|
|
@@ -15,5 +14,20 @@ export declare enum ELuaScriptName {
|
|
|
15
14
|
CLEANUP_OFFLINE_CONSUMER = "CLEANUP_OFFLINE_CONSUMER",
|
|
16
15
|
SET_QUEUE_RATE_LIMIT = "SET_QUEUE_RATE_LIMIT"
|
|
17
16
|
}
|
|
18
|
-
export declare
|
|
17
|
+
export declare const scriptFileMap: {
|
|
18
|
+
PUBLISH_SCHEDULED_MESSAGE: string;
|
|
19
|
+
PUBLISH_MESSAGE: string;
|
|
20
|
+
REQUEUE_MESSAGE: string;
|
|
21
|
+
SCHEDULE_MESSAGE: string;
|
|
22
|
+
HAS_QUEUE_RATE_EXCEEDED: string;
|
|
23
|
+
CREATE_QUEUE: string;
|
|
24
|
+
INIT_CONSUMER_QUEUE: string;
|
|
25
|
+
HANDLE_PROCESSING_QUEUE: string;
|
|
26
|
+
ACKNOWLEDGE_MESSAGE: string;
|
|
27
|
+
DELETE_MESSAGE: string;
|
|
28
|
+
FETCH_MESSAGE_FOR_PROCESSING: string;
|
|
29
|
+
DELETE_CONSUMER_GROUP: string;
|
|
30
|
+
CLEANUP_OFFLINE_CONSUMER: string;
|
|
31
|
+
SET_QUEUE_RATE_LIMIT: string;
|
|
32
|
+
};
|
|
19
33
|
//# sourceMappingURL=scripts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../../../../../src/common/redis-client/scripts/scripts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../../../../../src/common/redis-client/scripts/scripts.ts"],"names":[],"mappings":"AAYA,oBAAY,cAAc;IACxB,yBAAyB,8BAA8B;IACvD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,4BAA4B,iCAAiC;IAC7D,qBAAqB,0BAA0B;IAC/C,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;CAC9C;AAID,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAmDzB,CAAC"}
|
|
@@ -18,7 +18,7 @@ export var ELuaScriptName;
|
|
|
18
18
|
ELuaScriptName["SET_QUEUE_RATE_LIMIT"] = "SET_QUEUE_RATE_LIMIT";
|
|
19
19
|
})(ELuaScriptName || (ELuaScriptName = {}));
|
|
20
20
|
const dirname = env.getCurrentDir();
|
|
21
|
-
const scriptFileMap = {
|
|
21
|
+
export const scriptFileMap = {
|
|
22
22
|
[ELuaScriptName.PUBLISH_SCHEDULED_MESSAGE]: resolve(dirname, './lua/publish-scheduled-message.lua'),
|
|
23
23
|
[ELuaScriptName.PUBLISH_MESSAGE]: resolve(dirname, './lua/publish-message.lua'),
|
|
24
24
|
[ELuaScriptName.REQUEUE_MESSAGE]: resolve(dirname, './lua/requeue-message.lua'),
|
|
@@ -34,7 +34,4 @@ const scriptFileMap = {
|
|
|
34
34
|
[ELuaScriptName.CLEANUP_OFFLINE_CONSUMER]: resolve(dirname, './lua/cleanup-offline-consumer.lua'),
|
|
35
35
|
[ELuaScriptName.SET_QUEUE_RATE_LIMIT]: resolve(dirname, './lua/set-queue-rate-limit.lua'),
|
|
36
36
|
};
|
|
37
|
-
export function loadScriptFiles(redisClient, cb) {
|
|
38
|
-
redisClient.loadScriptFiles(scriptFileMap, (err) => cb(err));
|
|
39
|
-
}
|
|
40
37
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../../src/common/redis-client/scripts/scripts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../../src/common/redis-client/scripts/scripts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,yEAAuD,CAAA;IACvD,qDAAmC,CAAA;IACnC,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IACrC,qEAAmD,CAAA;IACnD,+CAA6B,CAAA;IAC7B,6DAA2C,CAAA;IAC3C,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,+EAA6D,CAAA;IAC7D,iEAA+C,CAAA;IAC/C,uEAAqD,CAAA;IACrD,+DAA6C,CAAA;AAC/C,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB;AAED,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,OAAO,CACjD,OAAO,EACP,qCAAqC,CACtC;IACD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CACvC,OAAO,EACP,2BAA2B,CAC5B;IACD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CACvC,OAAO,EACP,2BAA2B,CAC5B;IACD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,OAAO,CACxC,OAAO,EACP,4BAA4B,CAC7B;IACD,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAC/C,OAAO,EACP,mCAAmC,CACpC;IACD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC;IACzE,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAC3C,OAAO,EACP,+BAA+B,CAChC;IACD,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAC/C,OAAO,EACP,mCAAmC,CACpC;IACD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAC3C,OAAO,EACP,+BAA+B,CAChC;IACD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7E,CAAC,cAAc,CAAC,4BAA4B,CAAC,EAAE,OAAO,CACpD,OAAO,EACP,wCAAwC,CACzC;IACD,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAC7C,OAAO,EACP,iCAAiC,CAClC;IACD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAChD,OAAO,EACP,oCAAoC,CACrC;IACD,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAC5C,OAAO,EACP,gCAAgC,CACjC;CACF,CAAC"}
|