redis-smq 8.0.0-rc.2 → 8.0.0-rc.21
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 +351 -2
- package/LICENSE +3 -1
- package/README.md +77 -47
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/src/common/index.d.ts +2 -0
- package/dist/cjs/src/common/index.js +18 -0
- package/dist/cjs/src/common/redis-client/errors/redis-client-instance-lock.error.d.ts +4 -0
- package/dist/cjs/src/common/redis-client/errors/redis-client-instance-lock.error.js +8 -0
- package/dist/cjs/src/common/redis-client/redis-client-factory.d.ts +4 -0
- package/dist/cjs/src/common/redis-client/redis-client-factory.js +15 -0
- package/dist/cjs/src/common/redis-client/redis-client-instance.d.ts +10 -0
- package/dist/cjs/src/common/redis-client/redis-client-instance.js +56 -0
- package/dist/cjs/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +33 -0
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/create-queue.lua +6 -3
- package/dist/cjs/src/common/redis-client/scripts/lua/delete-consumer-group.lua +34 -0
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/delete-message.lua +36 -32
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/delete-queue-messages.lua +4 -4
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/handle-processing-queue.lua +3 -14
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/init-consumer-queue.lua +1 -1
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/publish-message.lua +14 -14
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/publish-scheduled-message.lua +64 -37
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/requeue-message.lua +10 -8
- package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/schedule-message.lua +1 -1
- package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts +16 -0
- package/dist/cjs/src/common/redis-client/scripts/scripts.js +81 -0
- package/dist/cjs/src/common/redis-keys/redis-keys.d.ts +38 -0
- package/dist/cjs/src/common/redis-keys/redis-keys.error.d.ts +4 -0
- package/dist/cjs/src/common/redis-keys/redis-keys.error.js +8 -0
- package/dist/cjs/src/common/redis-keys/redis-keys.js +135 -0
- package/dist/cjs/src/common/types/event.d.ts +50 -0
- package/dist/cjs/src/common/types/event.js +3 -0
- package/dist/cjs/src/common/types/index.d.ts +2 -0
- package/dist/cjs/src/common/types/index.js +18 -0
- package/dist/cjs/src/config/configuration.d.ts +11 -0
- package/dist/cjs/src/config/configuration.error.d.ts +4 -0
- package/dist/cjs/src/config/configuration.error.js +8 -0
- package/dist/cjs/src/config/configuration.js +40 -0
- package/dist/cjs/src/config/event-bus.d.ts +3 -0
- package/dist/cjs/src/config/event-bus.js +15 -0
- package/dist/cjs/src/config/index.d.ts +3 -0
- package/dist/cjs/src/config/index.js +19 -0
- package/dist/cjs/src/config/logger.d.ts +3 -0
- package/dist/cjs/src/config/logger.js +15 -0
- package/dist/cjs/src/config/messages/messages.d.ts +3 -0
- package/dist/cjs/src/config/messages/messages.js +27 -0
- package/dist/cjs/src/config/messages/store.d.ts +4 -0
- package/dist/cjs/src/config/messages/store.js +46 -0
- package/dist/cjs/src/config/namespace.d.ts +3 -0
- package/dist/cjs/src/config/namespace.js +14 -0
- package/dist/cjs/src/config/redis.d.ts +3 -0
- package/dist/cjs/src/config/redis.js +16 -0
- package/dist/cjs/src/config/types/config.d.ts +16 -0
- package/dist/cjs/src/config/types/config.js +3 -0
- package/dist/cjs/src/config/types/index.d.ts +2 -0
- package/dist/cjs/src/config/types/index.js +18 -0
- package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts +34 -0
- package/dist/cjs/src/lib/consumer/consumer/consumer.js +192 -0
- package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.js +49 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.d.ts +3 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.js +21 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +25 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +202 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.js +17 -0
- package/dist/cjs/src/lib/consumer/consumer-queues.d.ts +10 -0
- package/dist/cjs/src/lib/consumer/consumer-queues.js +52 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-delete.error.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-delete.error.js +8 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-supported.error.d.ts +5 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-supported.error.js +11 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-required.error.d.ts +5 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-required.error.js +11 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-message-handler-already-exists.error.d.ts +6 -0
- package/dist/cjs/src/lib/consumer/errors/consumer-message-handler-already-exists.error.js +11 -0
- package/dist/cjs/src/lib/consumer/errors/consumer.error.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/errors/consumer.error.js +8 -0
- package/dist/cjs/src/lib/consumer/errors/index.d.ts +6 -0
- package/dist/cjs/src/lib/consumer/errors/index.js +14 -0
- package/dist/cjs/src/lib/consumer/index.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/index.js +20 -0
- package/dist/cjs/src/lib/consumer/message-handler/consume-message/consume-message.d.ts +31 -0
- package/dist/cjs/src/lib/consumer/message-handler/consume-message/consume-message.js +181 -0
- package/dist/cjs/src/lib/consumer/message-handler/consume-message/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/message-handler/consume-message/event-bus-publisher.js +58 -0
- package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/dequeue-message.d.ts +43 -0
- package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +275 -0
- package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.js +34 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.d.ts +5 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.js +11 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.d.ts +5 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.js +11 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler.error.d.ts +5 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler.error.js +11 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/index.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/message-handler/errors/index.js +10 -0
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.js +17 -0
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +38 -0
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.js +146 -0
- package/dist/cjs/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +12 -0
- package/dist/cjs/src/lib/consumer/message-handler/multiplexed-message-handler.js +21 -0
- package/dist/cjs/src/lib/consumer/message-handler/processing-queue.d.ts +12 -0
- package/dist/cjs/src/lib/consumer/message-handler/processing-queue.js +130 -0
- package/dist/cjs/src/lib/consumer/message-handler/retry-message.d.ts +15 -0
- package/dist/cjs/src/lib/consumer/message-handler/retry-message.js +42 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.js +17 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +28 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.js +139 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +19 -0
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +68 -0
- package/dist/cjs/src/lib/consumer/types/consume-message.d.ts +14 -0
- package/dist/cjs/src/lib/consumer/types/consume-message.js +19 -0
- package/dist/cjs/src/lib/consumer/types/consumer-heartbeat.d.ts +18 -0
- package/dist/cjs/src/lib/consumer/types/consumer-heartbeat.js +3 -0
- package/dist/cjs/src/lib/consumer/types/index.d.ts +4 -0
- package/dist/cjs/src/lib/consumer/types/index.js +20 -0
- package/dist/cjs/src/lib/consumer/types/message-handler.d.ts +12 -0
- package/dist/cjs/src/lib/consumer/types/message-handler.js +3 -0
- package/dist/cjs/src/lib/consumer/workers/delay-unacknowledged.worker.d.ts +9 -0
- package/dist/cjs/src/lib/consumer/workers/delay-unacknowledged.worker.js +82 -0
- package/dist/cjs/src/lib/consumer/workers/publish-scheduled.worker.d.ts +13 -0
- package/dist/cjs/src/lib/consumer/workers/publish-scheduled.worker.js +107 -0
- package/dist/cjs/src/lib/consumer/workers/requeue-unacknowledged.worker.d.ts +11 -0
- package/dist/cjs/src/lib/consumer/workers/requeue-unacknowledged.worker.js +72 -0
- package/dist/cjs/src/lib/consumer/workers/watch-consumers.worker.d.ts +9 -0
- package/dist/cjs/src/lib/consumer/workers/watch-consumers.worker.js +40 -0
- package/dist/cjs/src/lib/consumer/workers/worker.d.ts +17 -0
- package/dist/cjs/src/lib/consumer/workers/worker.js +54 -0
- package/dist/cjs/src/lib/consumer-groups/_/_delete-consumer-group.d.ts +5 -0
- package/dist/cjs/src/lib/consumer-groups/_/_delete-consumer-group.js +38 -0
- package/dist/cjs/src/lib/consumer-groups/_/_get-consumer-groups.d.ts +4 -0
- package/dist/cjs/src/lib/consumer-groups/_/_get-consumer-groups.js +10 -0
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.d.ts +5 -0
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +23 -0
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts +15 -0
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.js +82 -0
- package/dist/cjs/src/lib/consumer-groups/index.d.ts +2 -0
- package/dist/cjs/src/lib/consumer-groups/index.js +18 -0
- package/dist/cjs/src/lib/event-bus/errors/event-bus-lock.error.d.ts +4 -0
- package/dist/cjs/src/lib/event-bus/errors/event-bus-lock.error.js +8 -0
- package/dist/cjs/src/lib/event-bus/event-bus-redis-factory.d.ts +4 -0
- package/dist/cjs/src/lib/event-bus/event-bus-redis-factory.js +15 -0
- package/dist/cjs/src/lib/event-bus/event-bus-redis-instance.d.ts +11 -0
- package/dist/cjs/src/lib/event-bus/event-bus-redis-instance.js +58 -0
- package/dist/cjs/src/lib/event-bus/index.d.ts +3 -0
- package/dist/cjs/src/lib/event-bus/index.js +19 -0
- package/dist/cjs/src/lib/event-bus/types/config.d.ts +4 -0
- package/dist/cjs/src/lib/event-bus/types/config.js +3 -0
- package/dist/cjs/src/lib/event-bus/types/index.d.ts +2 -0
- package/dist/cjs/src/lib/event-bus/types/index.js +18 -0
- package/dist/cjs/src/lib/exchange/_/_get-exchange-queues.d.ts +5 -0
- package/dist/cjs/src/lib/exchange/_/_get-exchange-queues.js +19 -0
- package/dist/cjs/src/lib/exchange/errors/exchange-fan-out.error.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/errors/exchange-fan-out.error.js +8 -0
- package/dist/cjs/src/lib/exchange/errors/exchange-invalid-data.error.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/errors/exchange-invalid-data.error.js +8 -0
- package/dist/cjs/src/lib/exchange/errors/exchange.error.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/errors/exchange.error.js +8 -0
- package/dist/cjs/src/lib/exchange/errors/index.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/errors/index.js +10 -0
- package/dist/cjs/src/lib/exchange/exchange-abstract.d.ts +12 -0
- package/dist/cjs/src/lib/exchange/exchange-abstract.js +18 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.js +15 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.d.ts +3 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.js +12 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/exchange-direct.d.ts +7 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/exchange-direct.js +13 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/index.d.ts +2 -0
- package/dist/cjs/src/lib/exchange/exchange-direct/index.js +18 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.d.ts +3 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.js +15 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.js +17 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.js +19 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.d.ts +2 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.js +12 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts +13 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +217 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/index.d.ts +2 -0
- package/dist/cjs/src/lib/exchange/exchange-fan-out/index.js +18 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.d.ts +3 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.js +15 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.d.ts +4 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.js +26 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.d.ts +5 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.js +30 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.d.ts +3 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.js +12 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.d.ts +8 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js +26 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/index.d.ts +2 -0
- package/dist/cjs/src/lib/exchange/exchange-topic/index.js +18 -0
- package/dist/cjs/src/lib/exchange/index.d.ts +6 -0
- package/dist/cjs/src/lib/exchange/index.js +22 -0
- package/dist/cjs/src/lib/exchange/types/exchange.d.ts +31 -0
- package/dist/cjs/src/lib/exchange/types/exchange.js +10 -0
- package/dist/cjs/src/lib/exchange/types/index.d.ts +2 -0
- package/dist/cjs/src/lib/exchange/types/index.js +18 -0
- package/dist/cjs/src/lib/index.d.ts +11 -0
- package/dist/cjs/src/lib/index.js +27 -0
- package/dist/cjs/src/lib/message/_/_delete-message.d.ts +3 -0
- package/dist/cjs/src/lib/message/_/_delete-message.js +50 -0
- package/dist/cjs/src/lib/message/_/_from-message.d.ts +5 -0
- package/dist/cjs/src/lib/message/_/_from-message.js +39 -0
- package/dist/cjs/src/lib/message/_/_get-message-state.d.ts +4 -0
- package/dist/cjs/src/lib/message/_/_get-message-state.js +19 -0
- package/dist/cjs/src/lib/message/_/_get-message-status.d.ts +4 -0
- package/dist/cjs/src/lib/message/_/_get-message-status.js +19 -0
- package/dist/cjs/src/lib/message/_/_get-message.d.ts +5 -0
- package/dist/cjs/src/lib/message/_/_get-message.js +45 -0
- package/dist/cjs/src/lib/message/errors/index.d.ts +7 -0
- package/dist/cjs/src/lib/message/errors/index.js +16 -0
- package/dist/cjs/src/lib/message/errors/message-delete.error.d.ts +5 -0
- package/dist/cjs/src/lib/message/errors/message-delete.error.js +11 -0
- package/dist/cjs/src/lib/message/errors/message-destination-queue-already-set.error.d.ts +5 -0
- package/dist/cjs/src/lib/message/errors/message-destination-queue-already-set.error.js +11 -0
- package/dist/cjs/src/lib/message/errors/message-destination-queue-required.error.d.ts +5 -0
- package/dist/cjs/src/lib/message/errors/message-destination-queue-required.error.js +11 -0
- package/dist/cjs/src/lib/message/errors/message-exchange-required.error.d.ts +5 -0
- package/dist/cjs/src/lib/message/errors/message-exchange-required.error.js +11 -0
- package/dist/cjs/src/lib/message/errors/message-not-found.error.d.ts +5 -0
- package/dist/cjs/src/lib/message/errors/message-not-found.error.js +11 -0
- package/dist/cjs/src/lib/message/errors/message.error.d.ts +4 -0
- package/dist/cjs/src/lib/message/errors/message.error.js +8 -0
- package/dist/cjs/src/lib/message/index.d.ts +5 -0
- package/dist/cjs/src/lib/message/index.js +21 -0
- package/dist/cjs/src/lib/message/message-envelope.d.ts +33 -0
- package/dist/cjs/src/lib/message/message-envelope.js +154 -0
- package/dist/cjs/src/lib/message/message-state.d.ts +44 -0
- package/dist/cjs/src/lib/message/message-state.js +161 -0
- package/dist/cjs/src/lib/message/message.d.ts +16 -0
- package/dist/cjs/src/lib/message/message.js +90 -0
- package/dist/cjs/src/lib/message/producible-message.d.ts +56 -0
- package/dist/cjs/src/lib/message/producible-message.js +220 -0
- package/dist/cjs/src/lib/message/types/config.d.ts +19 -0
- package/dist/cjs/src/lib/message/types/config.js +3 -0
- package/dist/cjs/src/lib/message/types/index.d.ts +4 -0
- package/dist/cjs/src/lib/message/types/index.js +20 -0
- package/dist/cjs/src/lib/message/types/message-state.d.ts +15 -0
- package/dist/cjs/src/lib/message/types/message-state.js +3 -0
- package/dist/cjs/src/lib/message/types/message.d.ts +57 -0
- package/dist/cjs/src/lib/message/types/message.js +33 -0
- package/dist/cjs/src/lib/namespace/errors/index.d.ts +3 -0
- package/dist/cjs/src/lib/namespace/errors/index.js +8 -0
- package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.d.ts +4 -0
- package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.js +8 -0
- package/dist/cjs/src/lib/namespace/errors/namespace.error.d.ts +4 -0
- package/dist/cjs/src/lib/namespace/errors/namespace.error.js +8 -0
- package/dist/cjs/src/lib/namespace/index.d.ts +3 -0
- package/dist/cjs/src/lib/namespace/index.js +19 -0
- package/dist/cjs/src/lib/namespace/namespace.d.ts +13 -0
- package/dist/cjs/src/lib/namespace/namespace.js +132 -0
- package/dist/cjs/src/lib/producer/_/_schedule-message.d.ts +4 -0
- package/dist/cjs/src/lib/producer/_/_schedule-message.js +50 -0
- package/dist/cjs/src/lib/producer/errors/index.d.ts +7 -0
- package/dist/cjs/src/lib/producer/errors/index.js +16 -0
- package/dist/cjs/src/lib/producer/errors/producer-instance-not-running.error.d.ts +5 -0
- package/dist/cjs/src/lib/producer/errors/producer-instance-not-running.error.js +11 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-exchange-required.error.d.ts +4 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-exchange-required.error.js +8 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-not-published.error.d.ts +4 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-not-published.error.js +8 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-not-scheduled.error.d.ts +4 -0
- package/dist/cjs/src/lib/producer/errors/producer-message-not-scheduled.error.js +8 -0
- package/dist/cjs/src/lib/producer/errors/producer-queue-without-consumer-groups.error.d.ts +4 -0
- package/dist/cjs/src/lib/producer/errors/producer-queue-without-consumer-groups.error.js +8 -0
- package/dist/cjs/src/lib/producer/errors/producer.error.d.ts +4 -0
- package/dist/cjs/src/lib/producer/errors/producer.error.js +8 -0
- package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts +4 -0
- package/dist/cjs/src/lib/producer/event-bus-publisher.js +57 -0
- package/dist/cjs/src/lib/producer/index.d.ts +3 -0
- package/dist/cjs/src/lib/producer/index.js +19 -0
- package/dist/cjs/src/lib/producer/producer.d.ts +27 -0
- package/dist/cjs/src/lib/producer/producer.js +234 -0
- package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts +26 -0
- package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.js +126 -0
- package/dist/cjs/src/lib/queue/_/_delete-queue.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_delete-queue.js +137 -0
- package/dist/cjs/src/lib/queue/_/_get-queue-properties.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_get-queue-properties.js +56 -0
- package/dist/cjs/src/lib/queue/_/_get-queues.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_get-queues.js +20 -0
- package/dist/cjs/src/lib/queue/_/_parse-queue-extended-params.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_parse-queue-extended-params.js +46 -0
- package/dist/cjs/src/lib/queue/_/_parse-queue-params.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_parse-queue-params.js +23 -0
- package/dist/cjs/src/lib/queue/errors/index.d.ts +6 -0
- package/dist/cjs/src/lib/queue/errors/index.js +14 -0
- package/dist/cjs/src/lib/queue/errors/queue-exists.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue/errors/queue-exists.error.js +8 -0
- package/dist/cjs/src/lib/queue/errors/queue-has-running-consumers.error.d.ts +5 -0
- package/dist/cjs/src/lib/queue/errors/queue-has-running-consumers.error.js +11 -0
- package/dist/cjs/src/lib/queue/errors/queue-not-empty.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue/errors/queue-not-empty.error.js +8 -0
- package/dist/cjs/src/lib/queue/errors/queue-not-found.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue/errors/queue-not-found.error.js +8 -0
- package/dist/cjs/src/lib/queue/errors/queue.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue/errors/queue.error.js +8 -0
- package/dist/cjs/src/lib/queue/index.d.ts +4 -0
- package/dist/cjs/src/lib/queue/index.js +20 -0
- package/dist/cjs/src/lib/queue/queue.d.ts +20 -0
- package/dist/cjs/src/lib/queue/queue.js +163 -0
- package/dist/cjs/src/lib/queue/types/index.d.ts +3 -0
- package/dist/cjs/src/lib/queue/types/index.js +19 -0
- package/dist/cjs/src/lib/queue/types/queue-consumer.d.ts +7 -0
- package/dist/cjs/src/lib/queue/types/queue-consumer.js +3 -0
- package/dist/cjs/src/lib/queue/types/queue.d.ts +41 -0
- package/dist/cjs/src/lib/queue/types/queue.js +23 -0
- package/dist/cjs/src/lib/queue-messages/_/_requeue-message.d.ts +5 -0
- package/dist/cjs/src/lib/queue-messages/_/_requeue-message.js +71 -0
- package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.d.ts +4 -0
- package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.js +28 -0
- package/dist/cjs/src/lib/queue-messages/errors/index.d.ts +3 -0
- package/dist/cjs/src/lib/queue-messages/errors/index.js +8 -0
- package/dist/cjs/src/lib/queue-messages/errors/message-requeue.error.d.ts +5 -0
- package/dist/cjs/src/lib/queue-messages/errors/message-requeue.error.js +11 -0
- package/dist/cjs/src/lib/queue-messages/errors/queue-message.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue-messages/errors/queue-message.error.js +8 -0
- package/dist/cjs/src/lib/queue-messages/index.d.ts +8 -0
- package/dist/cjs/src/lib/queue-messages/index.js +24 -0
- package/dist/cjs/src/lib/queue-messages/queue-acknowledged-messages.d.ts +10 -0
- package/dist/cjs/src/lib/queue-messages/queue-acknowledged-messages.js +25 -0
- package/dist/cjs/src/lib/queue-messages/queue-dead-lettered-messages.d.ts +10 -0
- package/dist/cjs/src/lib/queue-messages/queue-dead-lettered-messages.js +25 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.d.ts +23 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.js +148 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.d.ts +9 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.js +60 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.d.ts +9 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.js +68 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.d.ts +9 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.js +60 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages.d.ts +22 -0
- package/dist/cjs/src/lib/queue-messages/queue-messages.js +119 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/index.d.ts +2 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/index.js +18 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.d.ts +7 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.js +13 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.d.ts +7 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.js +13 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.d.ts +20 -0
- package/dist/cjs/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.js +90 -0
- package/dist/cjs/src/lib/queue-messages/queue-scheduled-messages.d.ts +6 -0
- package/dist/cjs/src/lib/queue-messages/queue-scheduled-messages.js +12 -0
- package/dist/cjs/src/lib/queue-messages/types/index.d.ts +42 -0
- package/dist/cjs/src/lib/queue-messages/types/index.js +3 -0
- package/dist/cjs/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.d.ts +4 -0
- package/dist/cjs/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.js +19 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/index.d.ts +2 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/index.js +6 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit.error.js +8 -0
- package/dist/cjs/src/lib/queue-rate-limit/index.d.ts +3 -0
- package/dist/cjs/src/lib/queue-rate-limit/index.js +19 -0
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.d.ts +15 -0
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js +111 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/src/common/index.d.ts +2 -0
- package/dist/esm/src/common/index.js +2 -0
- package/dist/esm/src/common/redis-client/errors/redis-client-instance-lock.error.d.ts +4 -0
- package/dist/esm/src/common/redis-client/errors/redis-client-instance-lock.error.js +4 -0
- package/dist/esm/src/common/redis-client/redis-client-factory.d.ts +4 -0
- package/dist/esm/src/common/redis-client/redis-client-factory.js +11 -0
- package/dist/esm/src/common/redis-client/redis-client-instance.d.ts +10 -0
- package/dist/esm/src/common/redis-client/redis-client-instance.js +49 -0
- package/dist/esm/src/common/redis-client/scripts/lua/acknowledge-message.lua +28 -0
- package/dist/esm/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +33 -0
- package/dist/esm/src/common/redis-client/scripts/lua/create-queue.lua +23 -0
- package/dist/esm/src/common/redis-client/scripts/lua/delete-consumer-group.lua +34 -0
- package/dist/esm/src/common/redis-client/scripts/lua/delete-message.lua +107 -0
- package/dist/esm/src/common/redis-client/scripts/lua/delete-queue-messages.lua +21 -0
- package/dist/esm/src/common/redis-client/scripts/lua/fetch-message-for-processing.lua +12 -0
- package/dist/esm/src/common/redis-client/scripts/lua/handle-processing-queue.lua +125 -0
- package/dist/esm/src/common/redis-client/scripts/lua/has-queue-rate-exceeded.lua +19 -0
- package/dist/esm/src/common/redis-client/scripts/lua/init-consumer-queue.lua +21 -0
- package/dist/esm/src/common/redis-client/scripts/lua/publish-message.lua +61 -0
- package/dist/esm/src/common/redis-client/scripts/lua/publish-scheduled-message.lua +149 -0
- package/dist/esm/src/common/redis-client/scripts/lua/requeue-message.lua +85 -0
- package/dist/esm/src/common/redis-client/scripts/lua/schedule-message.lua +100 -0
- package/dist/esm/src/common/redis-client/scripts/scripts.d.ts +16 -0
- package/dist/esm/src/common/redis-client/scripts/scripts.js +55 -0
- package/dist/esm/src/common/redis-keys/redis-keys.d.ts +38 -0
- package/dist/esm/src/common/redis-keys/redis-keys.error.d.ts +4 -0
- package/dist/esm/src/common/redis-keys/redis-keys.error.js +4 -0
- package/dist/esm/src/common/redis-keys/redis-keys.js +145 -0
- package/dist/esm/src/common/types/event.d.ts +50 -0
- package/dist/esm/src/common/types/event.js +2 -0
- package/dist/esm/src/common/types/index.d.ts +2 -0
- package/dist/esm/src/common/types/index.js +2 -0
- package/dist/esm/src/config/configuration.d.ts +11 -0
- package/dist/esm/src/config/configuration.error.d.ts +4 -0
- package/dist/esm/src/config/configuration.error.js +4 -0
- package/dist/esm/src/config/configuration.js +34 -0
- package/dist/esm/src/config/event-bus.d.ts +3 -0
- package/dist/esm/src/config/event-bus.js +8 -0
- package/dist/esm/src/config/index.d.ts +3 -0
- package/dist/esm/src/config/index.js +3 -0
- package/dist/esm/src/config/logger.d.ts +3 -0
- package/dist/esm/src/config/logger.js +8 -0
- package/dist/esm/src/config/messages/messages.d.ts +3 -0
- package/dist/esm/src/config/messages/messages.js +21 -0
- package/dist/esm/src/config/messages/store.d.ts +4 -0
- package/dist/esm/src/config/messages/store.js +41 -0
- package/dist/esm/src/config/namespace.d.ts +3 -0
- package/dist/esm/src/config/namespace.js +11 -0
- package/dist/esm/src/config/redis.d.ts +3 -0
- package/dist/esm/src/config/redis.js +9 -0
- package/dist/esm/src/config/types/config.d.ts +16 -0
- package/dist/esm/src/config/types/config.js +2 -0
- package/dist/esm/src/config/types/index.d.ts +2 -0
- package/dist/esm/src/config/types/index.js +2 -0
- package/dist/esm/src/lib/consumer/consumer/consumer.d.ts +34 -0
- package/dist/esm/src/lib/consumer/consumer/consumer.js +188 -0
- package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.js +45 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.d.ts +3 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.js +17 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +25 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +185 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.js +13 -0
- package/dist/esm/src/lib/consumer/consumer-queues.d.ts +10 -0
- package/dist/esm/src/lib/consumer/consumer-queues.js +49 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-delete.error.d.ts +4 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-delete.error.js +4 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-supported.error.d.ts +5 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-supported.error.js +7 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-required.error.d.ts +5 -0
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-required.error.js +7 -0
- package/dist/esm/src/lib/consumer/errors/consumer-message-handler-already-exists.error.d.ts +6 -0
- package/dist/esm/src/lib/consumer/errors/consumer-message-handler-already-exists.error.js +7 -0
- package/dist/esm/src/lib/consumer/errors/consumer.error.d.ts +4 -0
- package/dist/esm/src/lib/consumer/errors/consumer.error.js +4 -0
- package/dist/esm/src/lib/consumer/errors/index.d.ts +6 -0
- package/dist/esm/src/lib/consumer/errors/index.js +6 -0
- package/dist/esm/src/lib/consumer/index.d.ts +4 -0
- package/dist/esm/src/lib/consumer/index.js +4 -0
- package/dist/esm/src/lib/consumer/message-handler/consume-message/consume-message.d.ts +31 -0
- package/dist/esm/src/lib/consumer/message-handler/consume-message/consume-message.js +182 -0
- package/dist/esm/src/lib/consumer/message-handler/consume-message/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/message-handler/consume-message/event-bus-publisher.js +54 -0
- package/dist/esm/src/lib/consumer/message-handler/dequeue-message/dequeue-message.d.ts +43 -0
- package/dist/esm/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +262 -0
- package/dist/esm/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.js +30 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.d.ts +5 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.js +7 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.d.ts +5 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.js +7 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler.error.d.ts +5 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler.error.js +7 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/index.d.ts +4 -0
- package/dist/esm/src/lib/consumer/message-handler/errors/index.js +4 -0
- package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.js +13 -0
- package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +38 -0
- package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.js +151 -0
- package/dist/esm/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +12 -0
- package/dist/esm/src/lib/consumer/message-handler/multiplexed-message-handler.js +18 -0
- package/dist/esm/src/lib/consumer/message-handler/processing-queue.d.ts +12 -0
- package/dist/esm/src/lib/consumer/message-handler/processing-queue.js +127 -0
- package/dist/esm/src/lib/consumer/message-handler/retry-message.d.ts +15 -0
- package/dist/esm/src/lib/consumer/message-handler/retry-message.js +38 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.js +13 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +28 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.js +137 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +19 -0
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +65 -0
- package/dist/esm/src/lib/consumer/types/consume-message.d.ts +14 -0
- package/dist/esm/src/lib/consumer/types/consume-message.js +16 -0
- package/dist/esm/src/lib/consumer/types/consumer-heartbeat.d.ts +18 -0
- package/dist/esm/src/lib/consumer/types/consumer-heartbeat.js +2 -0
- package/dist/esm/src/lib/consumer/types/index.d.ts +4 -0
- package/dist/esm/src/lib/consumer/types/index.js +4 -0
- package/dist/esm/src/lib/consumer/types/message-handler.d.ts +12 -0
- package/dist/esm/src/lib/consumer/types/message-handler.js +2 -0
- package/dist/esm/src/lib/consumer/workers/delay-unacknowledged.worker.d.ts +9 -0
- package/dist/esm/src/lib/consumer/workers/delay-unacknowledged.worker.js +77 -0
- package/dist/esm/src/lib/consumer/workers/publish-scheduled.worker.d.ts +13 -0
- package/dist/esm/src/lib/consumer/workers/publish-scheduled.worker.js +101 -0
- package/dist/esm/src/lib/consumer/workers/requeue-unacknowledged.worker.d.ts +11 -0
- package/dist/esm/src/lib/consumer/workers/requeue-unacknowledged.worker.js +70 -0
- package/dist/esm/src/lib/consumer/workers/watch-consumers.worker.d.ts +9 -0
- package/dist/esm/src/lib/consumer/workers/watch-consumers.worker.js +35 -0
- package/dist/esm/src/lib/consumer/workers/worker.d.ts +17 -0
- package/dist/esm/src/lib/consumer/workers/worker.js +54 -0
- package/dist/esm/src/lib/consumer-groups/_/_delete-consumer-group.d.ts +5 -0
- package/dist/esm/src/lib/consumer-groups/_/_delete-consumer-group.js +34 -0
- package/dist/esm/src/lib/consumer-groups/_/_get-consumer-groups.d.ts +4 -0
- package/dist/esm/src/lib/consumer-groups/_/_get-consumer-groups.js +6 -0
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.d.ts +5 -0
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +19 -0
- package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts +15 -0
- package/dist/esm/src/lib/consumer-groups/consumer-groups.js +81 -0
- package/dist/esm/src/lib/consumer-groups/index.d.ts +2 -0
- package/dist/esm/src/lib/consumer-groups/index.js +2 -0
- package/dist/esm/src/lib/event-bus/errors/event-bus-lock.error.d.ts +4 -0
- package/dist/esm/src/lib/event-bus/errors/event-bus-lock.error.js +4 -0
- package/dist/esm/src/lib/event-bus/event-bus-redis-factory.d.ts +4 -0
- package/dist/esm/src/lib/event-bus/event-bus-redis-factory.js +11 -0
- package/dist/esm/src/lib/event-bus/event-bus-redis-instance.d.ts +11 -0
- package/dist/esm/src/lib/event-bus/event-bus-redis-instance.js +51 -0
- package/dist/esm/src/lib/event-bus/index.d.ts +3 -0
- package/dist/esm/src/lib/event-bus/index.js +3 -0
- package/dist/esm/src/lib/event-bus/types/config.d.ts +4 -0
- package/dist/esm/src/lib/event-bus/types/config.js +2 -0
- package/dist/esm/src/lib/event-bus/types/index.d.ts +2 -0
- package/dist/esm/src/lib/event-bus/types/index.js +2 -0
- package/dist/esm/src/lib/exchange/_/_get-exchange-queues.d.ts +5 -0
- package/dist/esm/src/lib/exchange/_/_get-exchange-queues.js +15 -0
- package/dist/esm/src/lib/exchange/errors/exchange-fan-out.error.d.ts +4 -0
- package/dist/esm/src/lib/exchange/errors/exchange-fan-out.error.js +4 -0
- package/dist/esm/src/lib/exchange/errors/exchange-invalid-data.error.d.ts +4 -0
- package/dist/esm/src/lib/exchange/errors/exchange-invalid-data.error.js +4 -0
- package/dist/esm/src/lib/exchange/errors/exchange.error.d.ts +4 -0
- package/dist/esm/src/lib/exchange/errors/exchange.error.js +4 -0
- package/dist/esm/src/lib/exchange/errors/index.d.ts +4 -0
- package/dist/esm/src/lib/exchange/errors/index.js +4 -0
- package/dist/esm/src/lib/exchange/exchange-abstract.d.ts +12 -0
- package/dist/esm/src/lib/exchange/exchange-abstract.js +16 -0
- package/dist/esm/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +4 -0
- package/dist/esm/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.js +11 -0
- package/dist/esm/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.d.ts +3 -0
- package/dist/esm/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.js +8 -0
- package/dist/esm/src/lib/exchange/exchange-direct/exchange-direct.d.ts +7 -0
- package/dist/esm/src/lib/exchange/exchange-direct/exchange-direct.js +9 -0
- package/dist/esm/src/lib/exchange/exchange-direct/index.d.ts +2 -0
- package/dist/esm/src/lib/exchange/exchange-direct/index.js +2 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.d.ts +3 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.js +11 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.d.ts +4 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.js +13 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.d.ts +4 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.js +15 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.d.ts +2 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.js +8 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts +13 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +213 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/index.d.ts +2 -0
- package/dist/esm/src/lib/exchange/exchange-fan-out/index.js +2 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.d.ts +3 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.js +11 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.d.ts +4 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.js +22 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.d.ts +5 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.js +26 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.d.ts +3 -0
- package/dist/esm/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.js +8 -0
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.d.ts +8 -0
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js +22 -0
- package/dist/esm/src/lib/exchange/exchange-topic/index.d.ts +2 -0
- package/dist/esm/src/lib/exchange/exchange-topic/index.js +2 -0
- package/dist/esm/src/lib/exchange/index.d.ts +6 -0
- package/dist/esm/src/lib/exchange/index.js +6 -0
- package/dist/esm/src/lib/exchange/types/exchange.d.ts +31 -0
- package/dist/esm/src/lib/exchange/types/exchange.js +7 -0
- package/dist/esm/src/lib/exchange/types/index.d.ts +2 -0
- package/dist/esm/src/lib/exchange/types/index.js +2 -0
- package/dist/esm/src/lib/index.d.ts +11 -0
- package/dist/esm/src/lib/index.js +11 -0
- package/dist/esm/src/lib/message/_/_delete-message.d.ts +3 -0
- package/dist/esm/src/lib/message/_/_delete-message.js +46 -0
- package/dist/esm/src/lib/message/_/_from-message.d.ts +5 -0
- package/dist/esm/src/lib/message/_/_from-message.js +24 -0
- package/dist/esm/src/lib/message/_/_get-message-state.d.ts +4 -0
- package/dist/esm/src/lib/message/_/_get-message-state.js +15 -0
- package/dist/esm/src/lib/message/_/_get-message-status.d.ts +4 -0
- package/dist/esm/src/lib/message/_/_get-message-status.js +15 -0
- package/dist/esm/src/lib/message/_/_get-message.d.ts +5 -0
- package/dist/esm/src/lib/message/_/_get-message.js +40 -0
- package/dist/esm/src/lib/message/errors/index.d.ts +7 -0
- package/dist/esm/src/lib/message/errors/index.js +7 -0
- package/dist/esm/src/lib/message/errors/message-delete.error.d.ts +5 -0
- package/dist/esm/src/lib/message/errors/message-delete.error.js +7 -0
- package/dist/esm/src/lib/message/errors/message-destination-queue-already-set.error.d.ts +5 -0
- package/dist/esm/src/lib/message/errors/message-destination-queue-already-set.error.js +7 -0
- package/dist/esm/src/lib/message/errors/message-destination-queue-required.error.d.ts +5 -0
- package/dist/esm/src/lib/message/errors/message-destination-queue-required.error.js +7 -0
- package/dist/esm/src/lib/message/errors/message-exchange-required.error.d.ts +5 -0
- package/dist/esm/src/lib/message/errors/message-exchange-required.error.js +7 -0
- package/dist/esm/src/lib/message/errors/message-not-found.error.d.ts +5 -0
- package/dist/esm/src/lib/message/errors/message-not-found.error.js +7 -0
- package/dist/esm/src/lib/message/errors/message.error.d.ts +4 -0
- package/dist/esm/src/lib/message/errors/message.error.js +4 -0
- package/dist/esm/src/lib/message/index.d.ts +5 -0
- package/dist/esm/src/lib/message/index.js +5 -0
- package/dist/esm/src/lib/message/message-envelope.d.ts +33 -0
- package/dist/esm/src/lib/message/message-envelope.js +154 -0
- package/dist/esm/src/lib/message/message-state.d.ts +44 -0
- package/dist/esm/src/lib/message/message-state.js +158 -0
- package/dist/esm/src/lib/message/message.d.ts +16 -0
- package/dist/esm/src/lib/message/message.js +88 -0
- package/dist/esm/src/lib/message/producible-message.d.ts +56 -0
- package/dist/esm/src/lib/message/producible-message.js +214 -0
- package/dist/esm/src/lib/message/types/config.d.ts +19 -0
- package/dist/esm/src/lib/message/types/config.js +2 -0
- package/dist/esm/src/lib/message/types/index.d.ts +4 -0
- package/dist/esm/src/lib/message/types/index.js +4 -0
- package/dist/esm/src/lib/message/types/message-state.d.ts +15 -0
- package/dist/esm/src/lib/message/types/message-state.js +2 -0
- package/dist/esm/src/lib/message/types/message.d.ts +57 -0
- package/dist/esm/src/lib/message/types/message.js +30 -0
- package/dist/esm/src/lib/namespace/errors/index.d.ts +3 -0
- package/dist/esm/src/lib/namespace/errors/index.js +3 -0
- package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.d.ts +4 -0
- package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.js +4 -0
- package/dist/esm/src/lib/namespace/errors/namespace.error.d.ts +4 -0
- package/dist/esm/src/lib/namespace/errors/namespace.error.js +4 -0
- package/dist/esm/src/lib/namespace/index.d.ts +3 -0
- package/dist/esm/src/lib/namespace/index.js +3 -0
- package/dist/esm/src/lib/namespace/namespace.d.ts +13 -0
- package/dist/esm/src/lib/namespace/namespace.js +130 -0
- package/dist/esm/src/lib/producer/_/_schedule-message.d.ts +4 -0
- package/dist/esm/src/lib/producer/_/_schedule-message.js +46 -0
- package/dist/esm/src/lib/producer/errors/index.d.ts +7 -0
- package/dist/esm/src/lib/producer/errors/index.js +7 -0
- package/dist/esm/src/lib/producer/errors/producer-instance-not-running.error.d.ts +5 -0
- package/dist/esm/src/lib/producer/errors/producer-instance-not-running.error.js +7 -0
- package/dist/esm/src/lib/producer/errors/producer-message-exchange-required.error.d.ts +4 -0
- package/dist/esm/src/lib/producer/errors/producer-message-exchange-required.error.js +4 -0
- package/dist/esm/src/lib/producer/errors/producer-message-not-published.error.d.ts +4 -0
- package/dist/esm/src/lib/producer/errors/producer-message-not-published.error.js +4 -0
- package/dist/esm/src/lib/producer/errors/producer-message-not-scheduled.error.d.ts +4 -0
- package/dist/esm/src/lib/producer/errors/producer-message-not-scheduled.error.js +4 -0
- package/dist/esm/src/lib/producer/errors/producer-queue-without-consumer-groups.error.d.ts +4 -0
- package/dist/esm/src/lib/producer/errors/producer-queue-without-consumer-groups.error.js +4 -0
- package/dist/esm/src/lib/producer/errors/producer.error.d.ts +4 -0
- package/dist/esm/src/lib/producer/errors/producer.error.js +4 -0
- package/dist/esm/src/lib/producer/event-bus-publisher.d.ts +4 -0
- package/dist/esm/src/lib/producer/event-bus-publisher.js +53 -0
- package/dist/esm/src/lib/producer/index.d.ts +3 -0
- package/dist/esm/src/lib/producer/index.js +3 -0
- package/dist/esm/src/lib/producer/producer.d.ts +27 -0
- package/dist/esm/src/lib/producer/producer.js +232 -0
- package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts +26 -0
- package/dist/esm/src/lib/producer/queue-consumer-groups-cache.js +126 -0
- package/dist/esm/src/lib/queue/_/_delete-queue.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_delete-queue.js +132 -0
- package/dist/esm/src/lib/queue/_/_get-queue-properties.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_get-queue-properties.js +52 -0
- package/dist/esm/src/lib/queue/_/_get-queues.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_get-queues.js +16 -0
- package/dist/esm/src/lib/queue/_/_parse-queue-extended-params.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_parse-queue-extended-params.js +42 -0
- package/dist/esm/src/lib/queue/_/_parse-queue-params.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_parse-queue-params.js +19 -0
- package/dist/esm/src/lib/queue/errors/index.d.ts +6 -0
- package/dist/esm/src/lib/queue/errors/index.js +6 -0
- package/dist/esm/src/lib/queue/errors/queue-exists.error.d.ts +4 -0
- package/dist/esm/src/lib/queue/errors/queue-exists.error.js +4 -0
- package/dist/esm/src/lib/queue/errors/queue-has-running-consumers.error.d.ts +5 -0
- package/dist/esm/src/lib/queue/errors/queue-has-running-consumers.error.js +7 -0
- package/dist/esm/src/lib/queue/errors/queue-not-empty.error.d.ts +4 -0
- package/dist/esm/src/lib/queue/errors/queue-not-empty.error.js +4 -0
- package/dist/esm/src/lib/queue/errors/queue-not-found.error.d.ts +4 -0
- package/dist/esm/src/lib/queue/errors/queue-not-found.error.js +4 -0
- package/dist/esm/src/lib/queue/errors/queue.error.d.ts +4 -0
- package/dist/esm/src/lib/queue/errors/queue.error.js +4 -0
- package/dist/esm/src/lib/queue/index.d.ts +4 -0
- package/dist/esm/src/lib/queue/index.js +4 -0
- package/dist/esm/src/lib/queue/queue.d.ts +20 -0
- package/dist/esm/src/lib/queue/queue.js +162 -0
- package/dist/esm/src/lib/queue/types/index.d.ts +3 -0
- package/dist/esm/src/lib/queue/types/index.js +3 -0
- package/dist/esm/src/lib/queue/types/queue-consumer.d.ts +7 -0
- package/dist/esm/src/lib/queue/types/queue-consumer.js +2 -0
- package/dist/esm/src/lib/queue/types/queue.d.ts +41 -0
- package/dist/esm/src/lib/queue/types/queue.js +20 -0
- package/dist/esm/src/lib/queue-messages/_/_requeue-message.d.ts +5 -0
- package/dist/esm/src/lib/queue-messages/_/_requeue-message.js +66 -0
- package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.d.ts +4 -0
- package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.js +24 -0
- package/dist/esm/src/lib/queue-messages/errors/index.d.ts +3 -0
- package/dist/esm/src/lib/queue-messages/errors/index.js +3 -0
- package/dist/esm/src/lib/queue-messages/errors/message-requeue.error.d.ts +5 -0
- package/dist/esm/src/lib/queue-messages/errors/message-requeue.error.js +7 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-message.error.d.ts +4 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-message.error.js +4 -0
- package/dist/esm/src/lib/queue-messages/index.d.ts +8 -0
- package/dist/esm/src/lib/queue-messages/index.js +8 -0
- package/dist/esm/src/lib/queue-messages/queue-acknowledged-messages.d.ts +10 -0
- package/dist/esm/src/lib/queue-messages/queue-acknowledged-messages.js +18 -0
- package/dist/esm/src/lib/queue-messages/queue-dead-lettered-messages.d.ts +10 -0
- package/dist/esm/src/lib/queue-messages/queue-dead-lettered-messages.js +18 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.d.ts +23 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.js +147 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.d.ts +9 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.js +56 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.d.ts +9 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.js +64 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.d.ts +9 -0
- package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.js +56 -0
- package/dist/esm/src/lib/queue-messages/queue-messages.d.ts +22 -0
- package/dist/esm/src/lib/queue-messages/queue-messages.js +120 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/index.d.ts +2 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/index.js +2 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.d.ts +7 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.js +6 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.d.ts +7 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.js +6 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.d.ts +20 -0
- package/dist/esm/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.js +90 -0
- package/dist/esm/src/lib/queue-messages/queue-scheduled-messages.d.ts +6 -0
- package/dist/esm/src/lib/queue-messages/queue-scheduled-messages.js +5 -0
- package/dist/esm/src/lib/queue-messages/types/index.d.ts +42 -0
- package/dist/esm/src/lib/queue-messages/types/index.js +2 -0
- package/dist/esm/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.d.ts +4 -0
- package/dist/esm/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.js +15 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/index.d.ts +2 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/index.js +2 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit.error.d.ts +4 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit.error.js +4 -0
- package/dist/esm/src/lib/queue-rate-limit/index.d.ts +3 -0
- package/dist/esm/src/lib/queue-rate-limit/index.js +3 -0
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.d.ts +15 -0
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js +110 -0
- package/package.json +25 -10
- package/dist/index.cjs +0 -4964
- package/dist/index.d.cts +0 -861
- package/dist/index.d.ts +0 -861
- package/dist/index.js +0 -4959
- /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/acknowledge-message.lua +0 -0
- /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/fetch-message-for-processing.lua +0 -0
- /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/has-queue-rate-exceeded.lua +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,356 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.0.0-rc.21](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.20...v8.0.0-rc.21) (2024-04-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **message:** correct logic for deleting multiple messages by IDs ([fdb39d6](https://github.com/weyoss/redis-smq/commit/fdb39d66f3cea59decf8ad29b5efdf827780ba73))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* improve RC release status description, clean up ([98910dc](https://github.com/weyoss/redis-smq/commit/98910dcef215494ccee4de01879d0e2f8037213d))
|
|
14
|
+
* update examples ([d80beb2](https://github.com/weyoss/redis-smq/commit/d80beb2af2472ac596a88531786a0ba2681e09dd))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Codebase Refactoring
|
|
18
|
+
|
|
19
|
+
* optimize imports ([29a0efb](https://github.com/weyoss/redis-smq/commit/29a0efb9e46ce23a6fb14c44222cf987a05ee22a))
|
|
20
|
+
* remove unused error classes and clean up ([15bd959](https://github.com/weyoss/redis-smq/commit/15bd9591d58b5717ee5a8e8191df7388e65a768b))
|
|
21
|
+
* shorten imports ([3bfb8f1](https://github.com/weyoss/redis-smq/commit/3bfb8f1e39011e2f48039b2c534f0fe936b67759))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Tests
|
|
25
|
+
|
|
26
|
+
* increase code coverage ([e9d84e8](https://github.com/weyoss/redis-smq/commit/e9d84e8b4a9a239246473ca770ce035ce8e66831))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Misc
|
|
30
|
+
|
|
31
|
+
* clean up package.json ([ff9ff3d](https://github.com/weyoss/redis-smq/commit/ff9ff3d06f61c20f70bd55c34a545278713847d5))
|
|
32
|
+
* update LICENSE ([cb18d44](https://github.com/weyoss/redis-smq/commit/cb18d4449f851df803a0e2cd84410257cbfcfdfd))
|
|
33
|
+
|
|
34
|
+
## [8.0.0-rc.20](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.19...v8.0.0-rc.20) (2024-03-24)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
|
|
39
|
+
* include missing enums when exporting esm/cjs modules ([2ee6802](https://github.com/weyoss/redis-smq/commit/2ee680205dbde78af46f4e4347cdf4fa80adfe3b))
|
|
40
|
+
|
|
41
|
+
## [8.0.0-rc.19](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.18...v8.0.0-rc.19) (2024-03-24)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Documentation
|
|
45
|
+
|
|
46
|
+
* fix incorrect generated anchor texts ([c4f523f](https://github.com/weyoss/redis-smq/commit/c4f523f9a17dbbb8510b35032cfecfc69905dd04))
|
|
47
|
+
|
|
48
|
+
## [8.0.0-rc.18](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.17...v8.0.0-rc.18) (2024-03-24)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### ⚠ BREAKING CHANGES
|
|
52
|
+
|
|
53
|
+
* rebase on redis-smq-common@3.0.0-rc.14
|
|
54
|
+
|
|
55
|
+
### Documentation
|
|
56
|
+
|
|
57
|
+
* update documentation and API reference ([3baaee6](https://github.com/weyoss/redis-smq/commit/3baaee6649c7bde47ce4c22c12ca4dc367ab301d))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Codebase Refactoring
|
|
61
|
+
|
|
62
|
+
* do not throw errors for async functions ([582f355](https://github.com/weyoss/redis-smq/commit/582f35539c01e9b98a05fbd65b2247cba623524c))
|
|
63
|
+
* rebase on redis-smq-common@3.0.0-rc.14 ([2c5edbd](https://github.com/weyoss/redis-smq/commit/2c5edbd8debdf4599ddbb7ad42a37bc94fea14d1))
|
|
64
|
+
|
|
65
|
+
## [8.0.0-rc.17](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.16...v8.0.0-rc.17) (2024-01-30)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Documentation
|
|
69
|
+
|
|
70
|
+
* add missing error classes ([753331e](https://github.com/weyoss/redis-smq/commit/753331e5ce4fb239cb29b3ae4c3246ba185b4d94))
|
|
71
|
+
* simplify and unify class/method naming and referencing ([0299b31](https://github.com/weyoss/redis-smq/commit/0299b314e843c28d52e2f767ace150e39652287c))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### Codebase Refactoring
|
|
75
|
+
|
|
76
|
+
* improve MessageHandler error handling ([957d257](https://github.com/weyoss/redis-smq/commit/957d257e66cce6faaf9dad5bf949cdd1198cfae8))
|
|
77
|
+
|
|
78
|
+
## [8.0.0-rc.16](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.15...v8.0.0-rc.16) (2024-01-28)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
83
|
+
* allow running/sandboxing message handlers using worker threads ([53095bd](https://github.com/weyoss/redis-smq/commit/53095bd2689ccb2f701365bafb4ef8e550da82b3))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
### Bug Fixes
|
|
87
|
+
|
|
88
|
+
* export message handler errors ([26d2689](https://github.com/weyoss/redis-smq/commit/26d26890da139d88c46ce220e3dda3d9c8e03aee))
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### Documentation
|
|
92
|
+
|
|
93
|
+
* **ConsumeMessageWorker:** update docs and clean up ([140322e](https://github.com/weyoss/redis-smq/commit/140322e3520ee3db905ea977a159064f339aa7d2))
|
|
94
|
+
* fix broken links ([aad9010](https://github.com/weyoss/redis-smq/commit/aad9010e70ed332b154f4fbdcb8ac657a14fe6b9))
|
|
95
|
+
* update messages and queues documentation ([7c3d06e](https://github.com/weyoss/redis-smq/commit/7c3d06ed3765ffc14dfece4f725241aa4535e1e7))
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Codebase Refactoring
|
|
99
|
+
|
|
100
|
+
* **ConsumeMessageWorker:** improve typings ([66c6ca9](https://github.com/weyoss/redis-smq/commit/66c6ca948677f76d496fe0b988bd195e1a7108a2))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
### Tests
|
|
104
|
+
|
|
105
|
+
* allow running/sandboxing message handlers using worker threads ([79e6886](https://github.com/weyoss/redis-smq/commit/79e688674ed11ec34ce2f74d5f15c8eefa129767))
|
|
106
|
+
|
|
107
|
+
## [8.0.0-rc.15](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.14...v8.0.0-rc.15) (2024-01-25)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### Features
|
|
111
|
+
|
|
112
|
+
* add Pub/Sub delivery model, refactor and clean up ([47affa1](https://github.com/weyoss/redis-smq/commit/47affa172eb2fc6943f660bea3feab3af1bc28ec))
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Documentation
|
|
116
|
+
|
|
117
|
+
* add a notification about the latest release, clean up ([904f196](https://github.com/weyoss/redis-smq/commit/904f196f1854059625b08af05fe5ceb1466d4a9f))
|
|
118
|
+
* add Pub/Sub delivery model, refactor and clean up ([32db9dd](https://github.com/weyoss/redis-smq/commit/32db9dd2772bc16568e03e6e216a7d0fd0a599a7))
|
|
119
|
+
* clean up ([c7d13a6](https://github.com/weyoss/redis-smq/commit/c7d13a639a1ed9f134ba3deb99d1e2a23223935a))
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
### Misc
|
|
123
|
+
|
|
124
|
+
* bump up redis-smq-common to v3.0.0-rc.8 ([d411849](https://github.com/weyoss/redis-smq/commit/d4118496263479036085ee09ceb5785ee497bb59))
|
|
125
|
+
* bump up redis-smq-common to v3.0.0-rc9 ([d372e9d](https://github.com/weyoss/redis-smq/commit/d372e9d98593934e9e9fb63efcd56cbad99202af))
|
|
126
|
+
|
|
127
|
+
## [8.0.0-rc.14](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.13...v8.0.0-rc.14) (2024-01-03)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
### Documentation
|
|
131
|
+
|
|
132
|
+
* add new diagrams and update existing ones ([f5182b1](https://github.com/weyoss/redis-smq/commit/f5182b10b5179365edf68e7b6bf564ccc25281ab))
|
|
133
|
+
* **event-listeners:** add a link to IRedisSMQConfig interface ([a7635c5](https://github.com/weyoss/redis-smq/commit/a7635c5d811ad775123547a5696c78b030981269))
|
|
134
|
+
* scale down diagrams ([c3b37e4](https://github.com/weyoss/redis-smq/commit/c3b37e445a6d15fdcc8c7a73b713a1f7d5e7c94e))
|
|
135
|
+
* update exchange diagrams ([9dc05d6](https://github.com/weyoss/redis-smq/commit/9dc05d6cd835d779b9d183e83f562c7991105c92))
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
### Codebase Refactoring
|
|
139
|
+
|
|
140
|
+
* **event-listeners:** clean up ([d9195e4](https://github.com/weyoss/redis-smq/commit/d9195e4e85e2e4519d238f5f3ecace37ae9bbb32))
|
|
141
|
+
* **exchanges:** improve typings ([97665fe](https://github.com/weyoss/redis-smq/commit/97665fed4a579af444c46e01a6b05f9adb12e888))
|
|
142
|
+
* **message:** handle various errors when deleting a message ([a4505ae](https://github.com/weyoss/redis-smq/commit/a4505ae7d95bda0185da28433c6737e395400e7b))
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
### Tests
|
|
146
|
+
|
|
147
|
+
* **message:** handle various errors when deleting a message ([ecf301b](https://github.com/weyoss/redis-smq/commit/ecf301b06aac1bf6d0fcb1ced962a32ac6a6ca68))
|
|
148
|
+
|
|
149
|
+
## [8.0.0-rc.13](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.12...v8.0.0-rc.13) (2023-12-23)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
### ⚠ BREAKING CHANGES
|
|
153
|
+
|
|
154
|
+
* **event-listeners:** unify consumer/producer event listeners
|
|
155
|
+
|
|
156
|
+
### Documentation
|
|
157
|
+
|
|
158
|
+
* **event-listeners:** update documentation ([71100d3](https://github.com/weyoss/redis-smq/commit/71100d3aa94a61fb8ece86e439f0b120b66a6cab))
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
### Codebase Refactoring
|
|
162
|
+
|
|
163
|
+
* **event-listeners:** unify consumer/producer event listeners ([9e1a181](https://github.com/weyoss/redis-smq/commit/9e1a1811dd841d4329f0ee14e979d2770a7a6358))
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
### Tests
|
|
167
|
+
|
|
168
|
+
* **event-listeners:** unify consumer/producer event listeners ([2d14a07](https://github.com/weyoss/redis-smq/commit/2d14a077feda98933fb6c038bea5a33ad8d5f610))
|
|
169
|
+
|
|
170
|
+
## [8.0.0-rc.12](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.11...v8.0.0-rc.12) (2023-12-18)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
### Misc
|
|
174
|
+
|
|
175
|
+
* update logo ([9bd373e](https://github.com/weyoss/redis-smq/commit/9bd373e693c57c8e18dddb5b0899c710e6de9492))
|
|
176
|
+
|
|
177
|
+
## [8.0.0-rc.11](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.10...v8.0.0-rc.11) (2023-12-18)
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
### Documentation
|
|
181
|
+
|
|
182
|
+
* **IConsumableMessage:** clean up ([5b5ce3a](https://github.com/weyoss/redis-smq/commit/5b5ce3aedd3e378cc74a2715da2ae1e98f41124f))
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
### Codebase Refactoring
|
|
186
|
+
|
|
187
|
+
* **MessageEnvelope:** clean up ([72140f6](https://github.com/weyoss/redis-smq/commit/72140f61742dd4e3cbe36a6c421bf5f0b5a2f7ac))
|
|
188
|
+
* rename _createRMessage to _createConsumableMessage ([7a138fd](https://github.com/weyoss/redis-smq/commit/7a138fdce633946d4f69a7c8aa4d78a019bc82df))
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
### Tests
|
|
192
|
+
|
|
193
|
+
* **ConsumableMessage:** increase code coverage ([3960c6e](https://github.com/weyoss/redis-smq/commit/3960c6ef72875fcdd0684eb1025afd0c0630c67c))
|
|
194
|
+
|
|
195
|
+
## [8.0.0-rc.10](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.9...v8.0.0-rc.10) (2023-12-17)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
### ⚠ BREAKING CHANGES
|
|
199
|
+
|
|
200
|
+
* add ProducibleMessage/ConsumableMessage/MessageEnvelope
|
|
201
|
+
|
|
202
|
+
### Features
|
|
203
|
+
|
|
204
|
+
* add ProducibleMessage/ConsumableMessage/MessageEnvelope ([4a3eec7](https://github.com/weyoss/redis-smq/commit/4a3eec79575b2845d2c35ec478b89e4a5acb863d))
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
### Documentation
|
|
208
|
+
|
|
209
|
+
* add ProducibleMessage/ConsumableMessage/MessageEnvelope ([55aa68e](https://github.com/weyoss/redis-smq/commit/55aa68e17021afadad32ee2c1b9dfef6924449f5))
|
|
210
|
+
* **QueueMessages:** fix outdated class reference ([e6ae499](https://github.com/weyoss/redis-smq/commit/e6ae4991d4389e1d1602bd780f4e0d95e02e5606))
|
|
211
|
+
* update examples ([bbccf7c](https://github.com/weyoss/redis-smq/commit/bbccf7cb5a2a5dfe2eacaeabb097129cbdcf6720))
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
### Tests
|
|
215
|
+
|
|
216
|
+
* add ProducibleMessage/ConsumableMessage/MessageEnvelope ([2961a22](https://github.com/weyoss/redis-smq/commit/2961a221190307c4a4a8857fed9ec12622bdd10d))
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
### Misc
|
|
220
|
+
|
|
221
|
+
* update health-check ([81edb25](https://github.com/weyoss/redis-smq/commit/81edb255d081824143f147ed8d0faefe0948224f))
|
|
222
|
+
|
|
223
|
+
## [8.0.0-rc.9](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.8...v8.0.0-rc.9) (2023-12-11)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
### Documentation
|
|
227
|
+
|
|
228
|
+
* update documentation ([85d6adb](https://github.com/weyoss/redis-smq/commit/85d6adb7e8db6cb4f427a34e8e510c11d2fc5bf0))
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
### Codebase Refactoring
|
|
232
|
+
|
|
233
|
+
* **MessageEnvelope:** improve setPriority/getPriority typings ([91c44f0](https://github.com/weyoss/redis-smq/commit/91c44f013d6ff757876a0e57dcec45869ab6a02a))
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
### Tests
|
|
237
|
+
|
|
238
|
+
* **MessageEnvelope:** improve setPriority/getPriority typings ([20fd6e5](https://github.com/weyoss/redis-smq/commit/20fd6e58e466ae425bba54d4d85adf4df888654b))
|
|
239
|
+
|
|
240
|
+
## [8.0.0-rc.8](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.7...v8.0.0-rc.8) (2023-12-11)
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
### ⚠ BREAKING CHANGES
|
|
244
|
+
|
|
245
|
+
* **Message:** remove Message.MessagePriority, add EMessagePriority
|
|
246
|
+
* **QueueMessages:** move message methods to Message,add MessageEnvelope
|
|
247
|
+
|
|
248
|
+
### Features
|
|
249
|
+
|
|
250
|
+
* **Message:** add getMessageStatus() method ([fda81fa](https://github.com/weyoss/redis-smq/commit/fda81fa7a3c4428799dfabef8581f0f3b39949e8))
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
### Bug Fixes
|
|
254
|
+
|
|
255
|
+
* **Message:** export missing error classes ([29e8817](https://github.com/weyoss/redis-smq/commit/29e8817fa805faed42ebd9a3fea469004552eec1))
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
### Documentation
|
|
259
|
+
|
|
260
|
+
* update documentation and examples ([8efb082](https://github.com/weyoss/redis-smq/commit/8efb08200ac1f2751c7e10e3492445badb2e4039))
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
### Codebase Refactoring
|
|
264
|
+
|
|
265
|
+
* **Message:** remove Message.MessagePriority, add EMessagePriority ([702a01d](https://github.com/weyoss/redis-smq/commit/702a01da987479a4f3b2127b9da0851d74046c10))
|
|
266
|
+
* **QueueMessages:** move message methods to Message,add MessageEnvelope ([f71f0d0](https://github.com/weyoss/redis-smq/commit/f71f0d06240e16b1519ae175793ae28470684d4f))
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
### Tests
|
|
270
|
+
|
|
271
|
+
* **Message:** add getMessageStatus() method ([76e97c4](https://github.com/weyoss/redis-smq/commit/76e97c48fdc86c2709db39b17a0ba55432157270))
|
|
272
|
+
* **Message:** remove Message.MessagePriority, add EMessagePriority ([88a1368](https://github.com/weyoss/redis-smq/commit/88a1368ff8e000f3f26141ec29fddc7f96a7103e))
|
|
273
|
+
* **QueueMessages:** move message methods to Message,add MessageEnvelope ([932a88e](https://github.com/weyoss/redis-smq/commit/932a88eee5bfd0dc020c8516f76e2d351d486fe3))
|
|
274
|
+
|
|
275
|
+
## [8.0.0-rc.7](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.6...v8.0.0-rc.7) (2023-12-09)
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
### ⚠ BREAKING CHANGES
|
|
279
|
+
|
|
280
|
+
* **QueueMessages:** remove redundant method deleteMessage()
|
|
281
|
+
|
|
282
|
+
### Documentation
|
|
283
|
+
|
|
284
|
+
* **QueueMessages:** remove redundant method deleteMessage() ([cdeb454](https://github.com/weyoss/redis-smq/commit/cdeb4543f859e108efdcaa61aeac15d3a325b0a5))
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
### Codebase Refactoring
|
|
288
|
+
|
|
289
|
+
* **QueueMessages:** remove redundant method deleteMessage() ([af21dff](https://github.com/weyoss/redis-smq/commit/af21dff9f6b959ed21aa4cbe812606c1efbf4046))
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
### Tests
|
|
293
|
+
|
|
294
|
+
* **QueueMessages:** remove redundant method deleteMessage() ([dfa3792](https://github.com/weyoss/redis-smq/commit/dfa37924a0a8e2fc726ce4a76baa535c79f0c917))
|
|
295
|
+
|
|
296
|
+
## [8.0.0-rc.6](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.5...v8.0.0-rc.6) (2023-12-09)
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
### ⚠ BREAKING CHANGES
|
|
300
|
+
|
|
301
|
+
* **QueueMessages:** rename deleteMessagesById to deleteMessageById
|
|
302
|
+
|
|
303
|
+
### Documentation
|
|
304
|
+
|
|
305
|
+
* **QueueMessages:** rename deleteMessagesById to deleteMessageById ([81cfb72](https://github.com/weyoss/redis-smq/commit/81cfb72a012e99398435418f52c8a24018759234))
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
### Codebase Refactoring
|
|
309
|
+
|
|
310
|
+
* **QueueMessages:** rename deleteMessagesById to deleteMessageById ([b3baf71](https://github.com/weyoss/redis-smq/commit/b3baf711e6210034aac256362418dd8d87859557))
|
|
311
|
+
|
|
312
|
+
## [8.0.0-rc.5](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.4...v8.0.0-rc.5) (2023-12-03)
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
### Documentation
|
|
316
|
+
|
|
317
|
+
* clean up ([2d7c004](https://github.com/weyoss/redis-smq/commit/2d7c004e690ca2f30a6de8d22feb5f4a3711eab9))
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
### Codebase Refactoring
|
|
321
|
+
|
|
322
|
+
* improve typings ([c86bb53](https://github.com/weyoss/redis-smq/commit/c86bb53969bbb919f115268cbf510c818af44066))
|
|
323
|
+
|
|
324
|
+
## [8.0.0-rc.4](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.3...v8.0.0-rc.4) (2023-12-02)
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
### Documentation
|
|
328
|
+
|
|
329
|
+
* clean up outdated examples ([dd1c68b](https://github.com/weyoss/redis-smq/commit/dd1c68bdd7cf7de2dfa309dbe7efff76fed5c983))
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
### Misc
|
|
333
|
+
|
|
334
|
+
* move redis-smq-common from dev-deps to deps ([675880d](https://github.com/weyoss/redis-smq/commit/675880d3803cca9c89aa860486bae43dbe7e2f70))
|
|
335
|
+
|
|
336
|
+
## [8.0.0-rc.3](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.2...v8.0.0-rc.3) (2023-12-02)
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
### Bug Fixes
|
|
340
|
+
|
|
341
|
+
* **scheduler:** handle unacked messages with retry delay correctly ([a97b145](https://github.com/weyoss/redis-smq/commit/a97b145f605d6b5c7d9f6f83c844c9d2447c5786))
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
### Documentation
|
|
345
|
+
|
|
346
|
+
* update Message reference ([1cff3e3](https://github.com/weyoss/redis-smq/commit/1cff3e3fe3634ffa2d502a4bbb589948ed8e56ea))
|
|
347
|
+
* update TRedisSMQEvent reference ([5afa22e](https://github.com/weyoss/redis-smq/commit/5afa22ea1d2de00cb9c4708c55ec8fe1ef5a39b5))
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
### Tests
|
|
351
|
+
|
|
352
|
+
* **message:** add new test cases covering message status ([9eec7e9](https://github.com/weyoss/redis-smq/commit/9eec7e9e2a39244ab62b9f8db4d049d3363a534d))
|
|
353
|
+
|
|
3
354
|
## [8.0.0-rc.2](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.1...v8.0.0-rc.2) (2023-11-27)
|
|
4
355
|
|
|
5
356
|
|
|
@@ -104,8 +455,6 @@
|
|
|
104
455
|
* drop support for redis server 2.8 and 3 ([9ef8ade](https://github.com/weyoss/redis-smq/commit/9ef8adec08bf90d1cc27b9bbabe591bca25a7d8e))
|
|
105
456
|
* update minimal supported versions for nodejs and redis ([13b3197](https://github.com/weyoss/redis-smq/commit/13b31977937c65aa989de8d715022d1afb5f0839))
|
|
106
457
|
|
|
107
|
-
# CHANGELOG
|
|
108
|
-
|
|
109
458
|
## 7.2.3 (2023-03-26)
|
|
110
459
|
|
|
111
460
|
* test(consumer-heartbeat): update tests (4332153)
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Weyoss <weyoss@protonmail.com>, https://github.com/weyoss
|
|
2
4
|
|
|
3
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
6
|
a copy of this software and associated documentation files (the
|
package/README.md
CHANGED
|
@@ -1,49 +1,70 @@
|
|
|
1
|
+
> [!IMPORTANT]
|
|
2
|
+
> Currently, RedisSMQ is going under heavy development. Pre-releases at any time may introduce new commits with breaking changes.
|
|
3
|
+
> The master branch always reflects the most recent changes. To view the latest release reference see [RedisSMQ v7.2.3](https://github.com/weyoss/redis-smq/tree/v7.2.3)
|
|
4
|
+
|
|
1
5
|
<div align="center" style="text-align: center">
|
|
2
|
-
|
|
3
|
-
|
|
6
|
+
<p><a href="https://github.com/weyoss/redis-smq"><img alt="RedisSMQ" src="./logo.png?v=202312182134" /></a></p>
|
|
7
|
+
<p>A simple high-performance Redis message queue for Node.js.</p>
|
|
8
|
+
<p>
|
|
9
|
+
<a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
|
|
10
|
+
<a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
|
|
11
|
+
<a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
|
|
12
|
+
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
|
|
13
|
+
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
|
|
14
|
+
</p>
|
|
4
15
|
</div>
|
|
5
16
|
|
|
6
17
|
# RedisSMQ
|
|
7
18
|
|
|
8
|
-
|
|
9
|
-
<a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
|
|
10
|
-
<a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
|
|
11
|
-
<a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
|
|
12
|
-
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
|
|
13
|
-
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
|
|
14
|
-
</p>
|
|
15
|
-
|
|
16
|
-
RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing them asynchronously with consumers. Backed by Redis, it allows scaling up your application with ease of use.
|
|
19
|
+
RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing them asynchronously with consumers. Backed by Redis, it allows scaling up your typical applications with ease of use.
|
|
17
20
|
|
|
18
21
|
## Features
|
|
19
22
|
|
|
20
23
|
* [High-performance message processing](docs/performance.md).
|
|
21
|
-
* Flexible Producer/Consumer model which offers [Multi-Queue Producers](docs/producing-messages.md) & [Multi-Queue Consumers](docs/consuming-messages.md)
|
|
22
|
-
* In case of failures, while delivering or processing a message, RedisSMQ can guaranty that the message is not lost and that it is redelivered [at-least-once](docs/api/classes/Message.md#setretrythreshold). When configured to do so, RedisSMQ can also ensure that the message is delivered [at-most-once](docs/api/classes/Message.md#setretrythreshold).
|
|
24
|
+
* Flexible Producer/Consumer model which offers [Multi-Queue Producers](docs/producing-messages.md) & [Multi-Queue Consumers](docs/consuming-messages.md).
|
|
23
25
|
* RedisSMQ offers different exchange types: [Direct Exchange](docs/message-exchanges.md#direct-exchange), [Topic Exchange](docs/message-exchanges.md#topic-exchange), and [FanOut Exchange](docs/message-exchanges.md#fanout-exchange) for publishing a message to one or multiple queues.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* [
|
|
27
|
-
*
|
|
28
|
-
* [
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
26
|
+
* Supports [Point-2-Point](docs/queue-delivery-models.md#point-2-point-delivery-model) and [Pub/Sub](docs/queue-delivery-models.md#pubsub-delivery-model) [delivery models](docs/queue-delivery-models.md).
|
|
27
|
+
* Both [delivery models](docs/queue-delivery-models.md) are reliable. For cases of failure, while delivering/consuming messages, [at-least-once](docs/api/classes/ProducibleMessage.md#setretrythreshold) and [at-most-once](docs/api/classes/ProducibleMessage.md#setretrythreshold) modes may be configured.
|
|
28
|
+
* [3 queuing strategies](docs/queues.md): [FIFO queues](docs/queues.md#fifo-first-in-first-out-queues), [LIFO queues](docs/queues.md#lifo-last-in-first-out-queues), and [Priority Queues](docs/queues.md#priority-queues).
|
|
29
|
+
* [Message Handler Worker Threads](docs/message-handler-worker-threads.md) which allow sandboxing and running your message handler from a separate isolated thread and without affecting the performance of other message handlers from the same consumer.
|
|
30
|
+
* Messages can be [set to expire](docs/api/classes/ProducibleMessage.md#setttl) when not delivered within a given amount of time or to have a [consumption timeout](docs/api/classes/ProducibleMessage.md#setconsumetimeout) while being in process.
|
|
31
|
+
* Queues may be [rate Limited](docs/queue-rate-limiting.md) to control the rate at which the messages are consumed.
|
|
32
|
+
* Has a builtin [scheduler](docs/scheduling-messages.md) allowing messages [to be delayed](docs/api/classes/ProducibleMessage.md#setscheduleddelay), [to be delivered for N times](docs/api/classes/ProducibleMessage.md#setscheduledrepeat) with an optional [period between deliveries](docs/api/classes/ProducibleMessage.md#setscheduledrepeatperiod), or simply [to be scheduled using CRON expressions](docs/api/classes/ProducibleMessage.md#setscheduledcron).
|
|
33
|
+
* Provides [an HTTP API](https://github.com/weyoss/redis-smq-monitor) to interact with the message queue for external services.
|
|
34
|
+
* RedisSMQ can be managed also from your [web browser](https://github.com/weyoss/redis-smq-monitor-client).
|
|
35
|
+
* Either [node-redis](https://github.com/redis/node-redis) or [ioredis](https://github.com/luin/ioredis) can be used as a Redis client.
|
|
36
|
+
* [Highly optimized](https://lgtm.com/projects/g/weyoss/redis-smq/context:javascript), implemented using pure callbacks, with small memory footprint and no memory leaks. See [Callback vs Promise vs Async/Await benchmarks](https://gist.github.com/weyoss/24f9ecbda175d943a48cb7ec38bde821).
|
|
32
37
|
* [Both ESM & CJS modules are supported](docs/esm-cjs-modules.md).
|
|
33
38
|
|
|
34
39
|
## RedisSMQ Use Case: Multi-Queue Producers & Multi-Queue Consumers
|
|
35
40
|
|
|
36
|
-
&
|
|
37
|
-
|
|
38
|
-

|
|
41
|
+

|
|
39
42
|
|
|
40
43
|
## What's new?
|
|
41
44
|
|
|
42
|
-
:rocket: RedisSMQ v8
|
|
45
|
+
:rocket: RC's are now available for RedisSMQ v8! The v8 release will bring major improvements and new features. Some of them are:
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
- [x] Message queue codebase refactoring and optimizations.
|
|
48
|
+
- [x] Message storage and handling improvements.
|
|
49
|
+
- [x] Message status which allows to retrieve, at any time, the status of a message by its ID.
|
|
50
|
+
- [x] [Pub/Sub Delivery Model and Consumer Groups](docs/queue-delivery-models.md#pubsub-delivery-model).
|
|
51
|
+
- [x] Message handlers sandboxing and message processing performance improvement with [Message Handler Worker Threads](docs/message-handler-worker-threads.md).
|
|
52
|
+
- [x] Cross-system event propagation based on [EventBus](docs/event-bus.md).
|
|
53
|
+
- [x] Better error handling aiming at reporting fatal errors to the application whenever it is possible and without crashing the main process.
|
|
54
|
+
- [x] [ESM Modules Support](docs/esm-cjs-modules.md).
|
|
55
|
+
|
|
56
|
+
Current RedisSMQ v8 RC status:
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
- [x] RedisSMQ Common Library
|
|
59
|
+
- [x] RedisSMQ
|
|
60
|
+
- [ ] HTTP API (WIP)
|
|
61
|
+
- [ ] Web UI (WIP)
|
|
62
|
+
|
|
63
|
+
If you wish to get the latest updates early feel free to try RedisSMQ v8 RC. Do not hesitate to report any bug or issue if encountered.
|
|
64
|
+
|
|
65
|
+
Otherwise, stay with [RedisSMQ v7](https://github.com/weyoss/redis-smq/tree/v7.2.3) if you are looking for a fully working release with an HTTP API and a Web UI.
|
|
66
|
+
|
|
67
|
+
## Installation
|
|
47
68
|
|
|
48
69
|
```shell
|
|
49
70
|
npm i redis-smq@rc
|
|
@@ -56,7 +77,7 @@ Considerations:
|
|
|
56
77
|
|
|
57
78
|
## Usage
|
|
58
79
|
|
|
59
|
-
RedisSMQ provides 3 classes in order to work with the message queue: `
|
|
80
|
+
RedisSMQ provides 3 classes in order to work with the message queue: `ProducibleMessage`, `Producer`, and `Consumer`.
|
|
60
81
|
|
|
61
82
|
Producers and consumers exchange data using one or multiple queues that may be created using the [Queue Class](docs/api/classes/Queue.md).
|
|
62
83
|
|
|
@@ -65,40 +86,49 @@ A queue is responsible for holding messages which are produced by producers and
|
|
|
65
86
|
### Creating a queue
|
|
66
87
|
|
|
67
88
|
```javascript
|
|
68
|
-
const { Queue, EQueueType } = require('redis-smq');
|
|
69
|
-
|
|
70
89
|
const queue = new Queue();
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
queue.save(
|
|
91
|
+
'my_queue',
|
|
92
|
+
EQueueType.LIFO_QUEUE,
|
|
93
|
+
EQueueDeliveryModel.POINT_TO_POINT,
|
|
94
|
+
(err) => {
|
|
95
|
+
if (err) console.error(err);
|
|
96
|
+
},
|
|
97
|
+
);
|
|
74
98
|
```
|
|
75
99
|
|
|
76
|
-
|
|
100
|
+
In the example above we are defining a [LIFO queue](docs/queues.md#lifo-last-in-first-out-queues) with a [POINT-2-POINT delivery model](docs/queue-delivery-models.md#point-2-point-delivery-model).
|
|
77
101
|
|
|
78
|
-
|
|
79
|
-
const { Producer, Message } = require('redis-smq');
|
|
102
|
+
See [Queues](docs/queues.md) for more details.
|
|
80
103
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const message = new Message();
|
|
84
|
-
message.setQueue('my_queue').setBody('Hello Word!')
|
|
104
|
+
### Producing a message
|
|
85
105
|
|
|
86
|
-
|
|
106
|
+
```javascript
|
|
107
|
+
const msg = new ProducibleMessage();
|
|
108
|
+
msg.setQueue('my_queue').setBody('Hello Word!');
|
|
109
|
+
producer.produce(msg, (err, ids) => {
|
|
110
|
+
if (err) console.error(err);
|
|
111
|
+
else console.log(`Produced message IDs are: ${ids.join(', ')}`);
|
|
112
|
+
});
|
|
87
113
|
```
|
|
88
114
|
|
|
115
|
+
See [Producing Messages](docs/producing-messages.md) for more details.
|
|
116
|
+
|
|
89
117
|
### Consuming a message
|
|
90
118
|
|
|
91
119
|
```javascript
|
|
92
|
-
const { Consumer } = require('redis-smq');
|
|
93
|
-
|
|
94
120
|
const consumer = new Consumer();
|
|
95
|
-
const messageHandler = (
|
|
96
|
-
console.log(
|
|
121
|
+
const messageHandler = (msg, cb) => {
|
|
122
|
+
console.log(msg.body);
|
|
97
123
|
cb();
|
|
98
|
-
}
|
|
99
|
-
consumer.consume('my_queue', messageHandler, (err) =>
|
|
124
|
+
};
|
|
125
|
+
consumer.consume('my_queue', messageHandler, (err) => {
|
|
126
|
+
if (err) console.error(err);
|
|
127
|
+
});
|
|
100
128
|
```
|
|
101
129
|
|
|
130
|
+
See [Consuming Messages](docs/consuming-messages.md) for more details.
|
|
131
|
+
|
|
102
132
|
## Documentation
|
|
103
133
|
|
|
104
134
|
See [RedisSMQ Docs](docs/README.md) for more details.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./src/common/index.js"), exports);
|
|
18
|
+
__exportStar(require("./src/config/index.js"), exports);
|
|
19
|
+
__exportStar(require("./src/lib/index.js"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types/index.js"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedisClientInstanceLockError = void 0;
|
|
4
|
+
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
|
+
class RedisClientInstanceLockError extends redis_smq_common_1.RedisSMQError {
|
|
6
|
+
}
|
|
7
|
+
exports.RedisClientInstanceLockError = RedisClientInstanceLockError;
|
|
8
|
+
//# sourceMappingURL=redis-client-instance-lock.error.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TUnaryFunction } from 'redis-smq-common';
|
|
2
|
+
import { RedisClientInstance } from './redis-client-instance.js';
|
|
3
|
+
export declare function RedisClientFactory(id: string, onError: TUnaryFunction<Error>): RedisClientInstance;
|
|
4
|
+
//# sourceMappingURL=redis-client-factory.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedisClientFactory = void 0;
|
|
4
|
+
const redis_client_instance_js_1 = require("./redis-client-instance.js");
|
|
5
|
+
const instances = {};
|
|
6
|
+
function RedisClientFactory(id, onError) {
|
|
7
|
+
if (!instances[id]) {
|
|
8
|
+
const instance = new redis_client_instance_js_1.RedisClientInstance();
|
|
9
|
+
instance.on('error', onError);
|
|
10
|
+
instances[id] = instance;
|
|
11
|
+
}
|
|
12
|
+
return instances[id];
|
|
13
|
+
}
|
|
14
|
+
exports.RedisClientFactory = RedisClientFactory;
|
|
15
|
+
//# sourceMappingURL=redis-client-factory.js.map
|