redis-smq 8.2.1 → 8.3.1

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.
Files changed (335) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/src/common/event-bus/event-bus.d.ts +6 -0
  3. package/dist/cjs/src/common/event-bus/event-bus.d.ts.map +1 -0
  4. package/dist/cjs/src/common/event-bus/event-bus.js +13 -0
  5. package/dist/cjs/src/common/event-bus/event-bus.js.map +1 -0
  6. package/dist/cjs/src/common/index.d.ts +1 -0
  7. package/dist/cjs/src/common/index.d.ts.map +1 -1
  8. package/dist/cjs/src/common/index.js +1 -0
  9. package/dist/cjs/src/common/index.js.map +1 -1
  10. package/dist/cjs/src/common/redis-client/redis-client.d.ts +4 -9
  11. package/dist/cjs/src/common/redis-client/redis-client.d.ts.map +1 -1
  12. package/dist/cjs/src/common/redis-client/redis-client.js +8 -55
  13. package/dist/cjs/src/common/redis-client/redis-client.js.map +1 -1
  14. package/dist/cjs/src/common/redis-client/scripts/lua/acknowledge-message.lua +19 -8
  15. package/dist/cjs/src/common/redis-client/scripts/lua/create-queue.lua +15 -10
  16. package/dist/cjs/src/common/redis-client/scripts/lua/delete-consumer-group.lua +20 -9
  17. package/dist/cjs/src/common/redis-client/scripts/lua/delete-message.lua +87 -87
  18. package/dist/cjs/src/common/redis-client/scripts/lua/fetch-message-for-processing.lua +11 -3
  19. package/dist/cjs/src/common/redis-client/scripts/lua/handle-processing-queue.lua +53 -82
  20. package/dist/cjs/src/common/redis-client/scripts/lua/has-queue-rate-exceeded.lua +15 -8
  21. package/dist/cjs/src/common/redis-client/scripts/lua/init-consumer-queue.lua +12 -8
  22. package/dist/cjs/src/common/redis-client/scripts/lua/publish-message.lua +19 -18
  23. package/dist/cjs/src/common/redis-client/scripts/lua/publish-scheduled-message.lua +89 -119
  24. package/dist/cjs/src/common/redis-client/scripts/lua/requeue-message.lua +54 -53
  25. package/dist/cjs/src/common/redis-client/scripts/lua/schedule-message.lua +47 -76
  26. package/dist/cjs/src/common/redis-client/scripts/lua/set-queue-rate-limit.lua +4 -5
  27. package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts +15 -3
  28. package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts.map +1 -1
  29. package/dist/cjs/src/common/redis-client/scripts/scripts.js +2 -8
  30. package/dist/cjs/src/common/redis-client/scripts/scripts.js.map +1 -1
  31. package/dist/cjs/src/config/types/config.d.ts +4 -1
  32. package/dist/cjs/src/config/types/config.d.ts.map +1 -1
  33. package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts +4 -5
  34. package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts.map +1 -1
  35. package/dist/cjs/src/lib/consumer/consumer/consumer.js +6 -24
  36. package/dist/cjs/src/lib/consumer/consumer/consumer.js.map +1 -1
  37. package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts +1 -1
  38. package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts.map +1 -1
  39. package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +1 -1
  40. package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts.map +1 -1
  41. package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js.map +1 -1
  42. package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +1 -1
  43. package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts.map +1 -1
  44. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts +1 -1
  45. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts.map +1 -1
  46. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js +25 -33
  47. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js.map +1 -1
  48. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts +1 -1
  49. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts.map +1 -1
  50. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.d.ts.map +1 -1
  51. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js +35 -51
  52. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js.map +1 -1
  53. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.d.ts.map +1 -1
  54. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js +4 -10
  55. package/dist/cjs/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js.map +1 -1
  56. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts +1 -1
  57. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts.map +1 -1
  58. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js +12 -12
  59. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js.map +1 -1
  60. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts +1 -1
  61. package/dist/cjs/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts.map +1 -1
  62. package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +1 -1
  63. package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts.map +1 -1
  64. package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +1 -1
  65. package/dist/cjs/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts +1 -1
  66. package/dist/cjs/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts.map +1 -1
  67. package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +1 -1
  68. package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts.map +1 -1
  69. package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
  70. package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts.map +1 -1
  71. package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
  72. package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts.map +1 -1
  73. package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +1 -1
  74. package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js.map +1 -1
  75. package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
  76. package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts.map +1 -1
  77. package/dist/cjs/src/lib/consumer-groups/consumer-groups.js +25 -86
  78. package/dist/cjs/src/lib/consumer-groups/consumer-groups.js.map +1 -1
  79. package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts.map +1 -1
  80. package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +16 -72
  81. package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js.map +1 -1
  82. package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.d.ts.map +1 -1
  83. package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js +10 -24
  84. package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js.map +1 -1
  85. package/dist/cjs/src/lib/index.d.ts +0 -1
  86. package/dist/cjs/src/lib/index.d.ts.map +1 -1
  87. package/dist/cjs/src/lib/index.js +0 -1
  88. package/dist/cjs/src/lib/index.js.map +1 -1
  89. package/dist/cjs/src/lib/message/_/_delete-message.d.ts +2 -1
  90. package/dist/cjs/src/lib/message/_/_delete-message.d.ts.map +1 -1
  91. package/dist/cjs/src/lib/message/_/_delete-message.js +47 -28
  92. package/dist/cjs/src/lib/message/_/_delete-message.js.map +1 -1
  93. package/dist/cjs/src/lib/message/message.d.ts +3 -3
  94. package/dist/cjs/src/lib/message/message.d.ts.map +1 -1
  95. package/dist/cjs/src/lib/message/message.js +103 -174
  96. package/dist/cjs/src/lib/message/message.js.map +1 -1
  97. package/dist/cjs/src/lib/message/types/delete-message.d.ts +12 -0
  98. package/dist/cjs/src/lib/message/types/delete-message.d.ts.map +1 -0
  99. package/dist/cjs/src/lib/{event-bus/types/config.js → message/types/delete-message.js} +1 -1
  100. package/dist/cjs/src/lib/message/types/delete-message.js.map +1 -0
  101. package/dist/cjs/src/lib/message/types/index.d.ts +1 -0
  102. package/dist/cjs/src/lib/message/types/index.d.ts.map +1 -1
  103. package/dist/cjs/src/lib/message/types/index.js +1 -0
  104. package/dist/cjs/src/lib/message/types/index.js.map +1 -1
  105. package/dist/cjs/src/lib/namespace/namespace.d.ts.map +1 -1
  106. package/dist/cjs/src/lib/namespace/namespace.js +10 -38
  107. package/dist/cjs/src/lib/namespace/namespace.js.map +1 -1
  108. package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts +1 -1
  109. package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts.map +1 -1
  110. package/dist/cjs/src/lib/producer/producer.d.ts +4 -5
  111. package/dist/cjs/src/lib/producer/producer.d.ts.map +1 -1
  112. package/dist/cjs/src/lib/producer/producer.js +1 -23
  113. package/dist/cjs/src/lib/producer/producer.js.map +1 -1
  114. package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts +1 -1
  115. package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts.map +1 -1
  116. package/dist/cjs/src/lib/queue/_/_delete-queue.js +1 -1
  117. package/dist/cjs/src/lib/queue/_/_delete-queue.js.map +1 -1
  118. package/dist/cjs/src/lib/queue/queue.d.ts +1 -1
  119. package/dist/cjs/src/lib/queue/queue.d.ts.map +1 -1
  120. package/dist/cjs/src/lib/queue/queue.js +90 -194
  121. package/dist/cjs/src/lib/queue/queue.js.map +1 -1
  122. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.d.ts.map +1 -1
  123. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.js +3 -11
  124. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-messages.js.map +1 -1
  125. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.d.ts.map +1 -1
  126. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js +9 -17
  127. package/dist/cjs/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js.map +1 -1
  128. package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.d.ts.map +1 -1
  129. package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js +11 -43
  130. package/dist/cjs/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js.map +1 -1
  131. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts.map +1 -1
  132. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js +6 -30
  133. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js.map +1 -1
  134. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts.map +1 -1
  135. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js +10 -50
  136. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js.map +1 -1
  137. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts.map +1 -1
  138. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js +8 -40
  139. package/dist/cjs/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js.map +1 -1
  140. package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.d.ts.map +1 -1
  141. package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js +16 -72
  142. package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js.map +1 -1
  143. package/dist/esm/src/common/event-bus/event-bus.d.ts +6 -0
  144. package/dist/esm/src/common/event-bus/event-bus.d.ts.map +1 -0
  145. package/dist/esm/src/common/event-bus/event-bus.js +9 -0
  146. package/dist/esm/src/common/event-bus/event-bus.js.map +1 -0
  147. package/dist/esm/src/common/index.d.ts +1 -0
  148. package/dist/esm/src/common/index.d.ts.map +1 -1
  149. package/dist/esm/src/common/index.js +1 -0
  150. package/dist/esm/src/common/index.js.map +1 -1
  151. package/dist/esm/src/common/redis-client/redis-client.d.ts +4 -9
  152. package/dist/esm/src/common/redis-client/redis-client.d.ts.map +1 -1
  153. package/dist/esm/src/common/redis-client/redis-client.js +11 -55
  154. package/dist/esm/src/common/redis-client/redis-client.js.map +1 -1
  155. package/dist/esm/src/common/redis-client/scripts/lua/acknowledge-message.lua +19 -8
  156. package/dist/esm/src/common/redis-client/scripts/lua/create-queue.lua +15 -10
  157. package/dist/esm/src/common/redis-client/scripts/lua/delete-consumer-group.lua +20 -9
  158. package/dist/esm/src/common/redis-client/scripts/lua/delete-message.lua +87 -87
  159. package/dist/esm/src/common/redis-client/scripts/lua/fetch-message-for-processing.lua +11 -3
  160. package/dist/esm/src/common/redis-client/scripts/lua/handle-processing-queue.lua +53 -82
  161. package/dist/esm/src/common/redis-client/scripts/lua/has-queue-rate-exceeded.lua +15 -8
  162. package/dist/esm/src/common/redis-client/scripts/lua/init-consumer-queue.lua +12 -8
  163. package/dist/esm/src/common/redis-client/scripts/lua/publish-message.lua +19 -18
  164. package/dist/esm/src/common/redis-client/scripts/lua/publish-scheduled-message.lua +89 -119
  165. package/dist/esm/src/common/redis-client/scripts/lua/requeue-message.lua +54 -53
  166. package/dist/esm/src/common/redis-client/scripts/lua/schedule-message.lua +47 -76
  167. package/dist/esm/src/common/redis-client/scripts/lua/set-queue-rate-limit.lua +4 -5
  168. package/dist/esm/src/common/redis-client/scripts/scripts.d.ts +15 -3
  169. package/dist/esm/src/common/redis-client/scripts/scripts.d.ts.map +1 -1
  170. package/dist/esm/src/common/redis-client/scripts/scripts.js +1 -6
  171. package/dist/esm/src/common/redis-client/scripts/scripts.js.map +1 -1
  172. package/dist/esm/src/config/types/config.d.ts +4 -1
  173. package/dist/esm/src/config/types/config.d.ts.map +1 -1
  174. package/dist/esm/src/lib/consumer/consumer/consumer.d.ts +4 -5
  175. package/dist/esm/src/lib/consumer/consumer/consumer.d.ts.map +1 -1
  176. package/dist/esm/src/lib/consumer/consumer/consumer.js +3 -21
  177. package/dist/esm/src/lib/consumer/consumer/consumer.js.map +1 -1
  178. package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts +1 -1
  179. package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts.map +1 -1
  180. package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +1 -1
  181. package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts.map +1 -1
  182. package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js.map +1 -1
  183. package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +1 -1
  184. package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts.map +1 -1
  185. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts +1 -1
  186. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.d.ts.map +1 -1
  187. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js +26 -34
  188. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/consume-message.js.map +1 -1
  189. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts +1 -1
  190. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/event-bus-publisher.d.ts.map +1 -1
  191. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.d.ts.map +1 -1
  192. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js +36 -52
  193. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/message-unacknowledgement.js.map +1 -1
  194. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.d.ts.map +1 -1
  195. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js +5 -11
  196. package/dist/esm/src/lib/consumer/message-handler/message-handler/consume-message/processing-queue.js.map +1 -1
  197. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts +1 -1
  198. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.d.ts.map +1 -1
  199. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js +1 -1
  200. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/dequeue-message.js.map +1 -1
  201. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts +1 -1
  202. package/dist/esm/src/lib/consumer/message-handler/message-handler/dequeue-message/event-bus-publisher.d.ts.map +1 -1
  203. package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +1 -1
  204. package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts.map +1 -1
  205. package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +1 -1
  206. package/dist/esm/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts +1 -1
  207. package/dist/esm/src/lib/consumer/message-handler/message-handler/multiplexed-message-handler.d.ts.map +1 -1
  208. package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +1 -1
  209. package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts.map +1 -1
  210. package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
  211. package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts.map +1 -1
  212. package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
  213. package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts.map +1 -1
  214. package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +1 -1
  215. package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js.map +1 -1
  216. package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
  217. package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts.map +1 -1
  218. package/dist/esm/src/lib/consumer-groups/consumer-groups.js +23 -84
  219. package/dist/esm/src/lib/consumer-groups/consumer-groups.js.map +1 -1
  220. package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts.map +1 -1
  221. package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +17 -73
  222. package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js.map +1 -1
  223. package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.d.ts.map +1 -1
  224. package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js +11 -25
  225. package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js.map +1 -1
  226. package/dist/esm/src/lib/index.d.ts +0 -1
  227. package/dist/esm/src/lib/index.d.ts.map +1 -1
  228. package/dist/esm/src/lib/index.js +0 -1
  229. package/dist/esm/src/lib/index.js.map +1 -1
  230. package/dist/esm/src/lib/message/_/_delete-message.d.ts +2 -1
  231. package/dist/esm/src/lib/message/_/_delete-message.d.ts.map +1 -1
  232. package/dist/esm/src/lib/message/_/_delete-message.js +50 -31
  233. package/dist/esm/src/lib/message/_/_delete-message.js.map +1 -1
  234. package/dist/esm/src/lib/message/message.d.ts +3 -3
  235. package/dist/esm/src/lib/message/message.d.ts.map +1 -1
  236. package/dist/esm/src/lib/message/message.js +104 -175
  237. package/dist/esm/src/lib/message/message.js.map +1 -1
  238. package/dist/esm/src/lib/message/types/delete-message.d.ts +12 -0
  239. package/dist/esm/src/lib/message/types/delete-message.d.ts.map +1 -0
  240. package/dist/esm/src/lib/message/types/delete-message.js +2 -0
  241. package/dist/esm/src/lib/message/types/delete-message.js.map +1 -0
  242. package/dist/esm/src/lib/message/types/index.d.ts +1 -0
  243. package/dist/esm/src/lib/message/types/index.d.ts.map +1 -1
  244. package/dist/esm/src/lib/message/types/index.js +1 -0
  245. package/dist/esm/src/lib/message/types/index.js.map +1 -1
  246. package/dist/esm/src/lib/namespace/namespace.d.ts.map +1 -1
  247. package/dist/esm/src/lib/namespace/namespace.js +11 -39
  248. package/dist/esm/src/lib/namespace/namespace.js.map +1 -1
  249. package/dist/esm/src/lib/producer/event-bus-publisher.d.ts +1 -1
  250. package/dist/esm/src/lib/producer/event-bus-publisher.d.ts.map +1 -1
  251. package/dist/esm/src/lib/producer/producer.d.ts +4 -5
  252. package/dist/esm/src/lib/producer/producer.d.ts.map +1 -1
  253. package/dist/esm/src/lib/producer/producer.js +2 -24
  254. package/dist/esm/src/lib/producer/producer.js.map +1 -1
  255. package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts +1 -1
  256. package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts.map +1 -1
  257. package/dist/esm/src/lib/queue/_/_delete-queue.js +1 -1
  258. package/dist/esm/src/lib/queue/_/_delete-queue.js.map +1 -1
  259. package/dist/esm/src/lib/queue/queue.d.ts +1 -1
  260. package/dist/esm/src/lib/queue/queue.d.ts.map +1 -1
  261. package/dist/esm/src/lib/queue/queue.js +88 -192
  262. package/dist/esm/src/lib/queue/queue.js.map +1 -1
  263. package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.d.ts.map +1 -1
  264. package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.js +4 -12
  265. package/dist/esm/src/lib/queue-messages/queue-messages/queue-messages.js.map +1 -1
  266. package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.d.ts.map +1 -1
  267. package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js +10 -18
  268. package/dist/esm/src/lib/queue-messages/queue-messages/queue-pending-messages/queue-pending-messages.js.map +1 -1
  269. package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.d.ts.map +1 -1
  270. package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js +12 -44
  271. package/dist/esm/src/lib/queue-messages/queue-messages-manager/queue-messages-manager-abstract.js.map +1 -1
  272. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.d.ts.map +1 -1
  273. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js +7 -31
  274. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-list.js.map +1 -1
  275. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.d.ts.map +1 -1
  276. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js +11 -51
  277. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-set.js.map +1 -1
  278. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.d.ts.map +1 -1
  279. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js +9 -41
  280. package/dist/esm/src/lib/queue-messages/queue-messages-storage/queue-messages-storage-sorted-set.js.map +1 -1
  281. package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.d.ts.map +1 -1
  282. package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js +17 -73
  283. package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js.map +1 -1
  284. package/package.json +2 -2
  285. package/dist/cjs/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +0 -33
  286. package/dist/cjs/src/common/redis-client/scripts/lua/delete-queue-messages.lua +0 -21
  287. package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
  288. package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
  289. package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.js +0 -8
  290. package/dist/cjs/src/lib/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
  291. package/dist/cjs/src/lib/event-bus/errors/index.d.ts +0 -2
  292. package/dist/cjs/src/lib/event-bus/errors/index.d.ts.map +0 -1
  293. package/dist/cjs/src/lib/event-bus/errors/index.js +0 -6
  294. package/dist/cjs/src/lib/event-bus/errors/index.js.map +0 -1
  295. package/dist/cjs/src/lib/event-bus/event-bus.d.ts +0 -11
  296. package/dist/cjs/src/lib/event-bus/event-bus.d.ts.map +0 -1
  297. package/dist/cjs/src/lib/event-bus/event-bus.js +0 -58
  298. package/dist/cjs/src/lib/event-bus/event-bus.js.map +0 -1
  299. package/dist/cjs/src/lib/event-bus/index.d.ts +0 -4
  300. package/dist/cjs/src/lib/event-bus/index.d.ts.map +0 -1
  301. package/dist/cjs/src/lib/event-bus/index.js +0 -20
  302. package/dist/cjs/src/lib/event-bus/index.js.map +0 -1
  303. package/dist/cjs/src/lib/event-bus/types/config.d.ts +0 -4
  304. package/dist/cjs/src/lib/event-bus/types/config.d.ts.map +0 -1
  305. package/dist/cjs/src/lib/event-bus/types/config.js.map +0 -1
  306. package/dist/cjs/src/lib/event-bus/types/index.d.ts +0 -2
  307. package/dist/cjs/src/lib/event-bus/types/index.d.ts.map +0 -1
  308. package/dist/cjs/src/lib/event-bus/types/index.js +0 -18
  309. package/dist/cjs/src/lib/event-bus/types/index.js.map +0 -1
  310. package/dist/esm/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +0 -33
  311. package/dist/esm/src/common/redis-client/scripts/lua/delete-queue-messages.lua +0 -21
  312. package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
  313. package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
  314. package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.js +0 -4
  315. package/dist/esm/src/lib/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
  316. package/dist/esm/src/lib/event-bus/errors/index.d.ts +0 -2
  317. package/dist/esm/src/lib/event-bus/errors/index.d.ts.map +0 -1
  318. package/dist/esm/src/lib/event-bus/errors/index.js +0 -2
  319. package/dist/esm/src/lib/event-bus/errors/index.js.map +0 -1
  320. package/dist/esm/src/lib/event-bus/event-bus.d.ts +0 -11
  321. package/dist/esm/src/lib/event-bus/event-bus.d.ts.map +0 -1
  322. package/dist/esm/src/lib/event-bus/event-bus.js +0 -51
  323. package/dist/esm/src/lib/event-bus/event-bus.js.map +0 -1
  324. package/dist/esm/src/lib/event-bus/index.d.ts +0 -4
  325. package/dist/esm/src/lib/event-bus/index.d.ts.map +0 -1
  326. package/dist/esm/src/lib/event-bus/index.js +0 -4
  327. package/dist/esm/src/lib/event-bus/index.js.map +0 -1
  328. package/dist/esm/src/lib/event-bus/types/config.d.ts +0 -4
  329. package/dist/esm/src/lib/event-bus/types/config.d.ts.map +0 -1
  330. package/dist/esm/src/lib/event-bus/types/config.js +0 -2
  331. package/dist/esm/src/lib/event-bus/types/config.js.map +0 -1
  332. package/dist/esm/src/lib/event-bus/types/index.d.ts +0 -2
  333. package/dist/esm/src/lib/event-bus/types/index.d.ts.map +0 -1
  334. package/dist/esm/src/lib/event-bus/types/index.js +0 -2
  335. package/dist/esm/src/lib/event-bus/types/index.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.waterfall([this.queue.shutdown, this.redisClient.shutdown], (err) => {
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);
@@ -33,25 +33,9 @@ class QueueRateLimit {
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.getSetInstance((err, client) => {
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, (err, queueParams) => {
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.getSetInstance((err, client) => {
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.getSetInstance((err, client) => {
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.getSetInstance((err, client) => {
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, (err, queueParams) => {
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
- try {
190
- const rateLimit = JSON.parse(reply);
191
- this.logger.debug(`Retrieved rate limit for queue ${queueParams.name}@${queueParams.ns}: limit: ${rateLimit.limit}, interval: ${rateLimit.interval}ms`);
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,uDAK0B;AAC1B,+EAAwE;AACxE,6EAA8E;AAC9E,yEAAkE;AAClE,oDAAsD;AACtD,wGAA8F;AAC9F,gDAK2B;AAC3B,iFAAwE;AACxE,gDAI2B;AAS3B,MAAa,cAAc;IAKzB;QAkVA,aAAQ,GAAG,CAAC,EAAmB,EAAQ,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,wBAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxE,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;QA3VA,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,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;gBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,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,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,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,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,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;gBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,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,CAAC,CAAC;IACL,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,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;gBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,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,CAAC,CAAC;IACL,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;QAEhE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC,GAAG,CAAC,OAAO,EAAE,CACtD,CAAC;gBACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC,IAAI,0CAAuB,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,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,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,IAAI,CAAC;wBACH,MAAM,SAAS,GAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrD,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;wBACF,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7F,CAAC;wBACF,EAAE,CACA,KAAK,YAAY,KAAK;4BACpB,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAC3D,CAAC;oBACJ,CAAC;gBACH,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAkBF;AAlWD,wCAkWC"}
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,6 @@
1
+ import { EventBusRedisFactory } from 'redis-smq-common';
2
+ import { TRedisSMQEvent } from '../types/index.js';
3
+ export declare class EventBus extends EventBusRedisFactory<TRedisSMQEvent> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -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,2 +1,3 @@
1
1
  export * from './types/index.js';
2
+ export * from './event-bus/event-bus.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -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,2 +1,3 @@
1
1
  export * from './types/index.js';
2
+ export * from './event-bus/event-bus.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -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 { EventEmitter, ICallback, IRedisClient, IRedisConfig, TRedisClientEvent } from 'redis-smq-common';
2
- export declare class RedisClient extends EventEmitter<Pick<TRedisClientEvent, 'error'>> {
3
- protected instance: IRedisClient | null;
4
- protected locked: boolean;
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,EAGL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B,qBAAa,WAAY,SAAQ,YAAY,CAC3C,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CACjC;IACC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC/C,SAAS,CAAC,MAAM,UAAS;IAEzB,SAAS,CAAC,YAAY,CACpB,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,GAC1B,IAAI;IAWP,IAAI,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAEhC;IAEF,cAAc,OAAQ,SAAS,CAAC,YAAY,CAAC,KAAG,IAAI,CAclD;IAEF,QAAQ,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAOpC;IAEF,WAAW,IAAI,YAAY,GAAG,KAAK;CAOpC"}
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 { CallbackEmptyReplyError, createRedisClient, EventEmitter, PanicError, } from 'redis-smq-common';
1
+ import { RedisClientFactory, } from 'redis-smq-common';
2
2
  import { Configuration } from '../../config/index.js';
3
- import { RedisClientInstanceLockError } from './errors/redis-client-instance-lock.error.js';
4
- import { loadScriptFiles } from './scripts/scripts.js';
5
- export class RedisClient extends EventEmitter {
6
- instance = null;
7
- locked = false;
8
- createClient(config, cb) {
9
- createRedisClient(config, (err, client) => {
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
- return cb(err);
12
- if (!client)
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,EACL,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EAIZ,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,WAAY,SAAQ,YAEhC;IACW,QAAQ,GAAwB,IAAI,CAAC;IACrC,MAAM,GAAG,KAAK,CAAC;IAEf,YAAY,CACpB,MAAoB,EACpB,EAA2B;QAE3B,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;YACtD,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9B,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,CAAC,EAAmB,EAAQ,EAAE;QACnC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,cAAc,GAAG,CAAC,EAA2B,EAAQ,EAAE;QACrD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACpE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,GAAG;wBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC5D,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;;gBAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;;YAAM,EAAE,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,QAAQ,GAAG,CAAC,EAAmB,EAAQ,EAAE;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,EAAE,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;;YAAM,EAAE,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,IAAI,UAAU,CACnB,wEAAwE,CACzE,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
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"}
@@ -2,27 +2,38 @@ local keyQueueProcessing = KEYS[1]
2
2
  local keyQueueAcknowledged = KEYS[2]
3
3
  local keyMessage = KEYS[3]
4
4
 
5
- ---
6
-
7
5
  local EMessagePropertyStatus = ARGV[1]
8
6
  local EMessagePropertyStatusAcknowledged = ARGV[2]
9
7
  local storeMessages = ARGV[3]
10
8
  local expireStoredMessages = ARGV[4]
11
9
  local storedMessagesSize = ARGV[5]
12
10
 
13
- local function updateMessageStatus()
14
- redis.call("HMSET", keyMessage, EMessagePropertyStatus, EMessagePropertyStatusAcknowledged)
11
+ -- Get the message ID from the processing queue
12
+ local messageId = redis.call("LPOP", keyQueueProcessing)
13
+
14
+ -- If no message was found, return early
15
+ if messageId == false then
16
+ return nil
15
17
  end
16
18
 
17
- local messageId = redis.call("LPOP", keyQueueProcessing)
19
+ -- Update message status immediately
20
+ redis.call("HSET", keyMessage, EMessagePropertyStatus, EMessagePropertyStatusAcknowledged)
21
+
22
+ -- Only perform storage operations if needed
18
23
  if storeMessages == '1' then
24
+ -- Add to acknowledged queue
19
25
  redis.call("RPUSH", keyQueueAcknowledged, messageId)
26
+
27
+ -- Apply expiration if configured
20
28
  if expireStoredMessages ~= '0' then
21
29
  redis.call("PEXPIRE", keyQueueAcknowledged, expireStoredMessages)
22
30
  end
31
+
32
+ -- Trim the queue if size limit is set
23
33
  if storedMessagesSize ~= '0' then
24
- local result = redis.call("LTRIM", keyQueueAcknowledged, storedMessagesSize, -1)
25
- return result
34
+ -- storedMessagesSize should be negative for proper trimming (to keep newest messages)
35
+ redis.call("LTRIM", keyQueueAcknowledged, storedMessagesSize, -1)
26
36
  end
27
37
  end
28
- updateMessageStatus()
38
+
39
+ return messageId
@@ -3,8 +3,6 @@ local keyNsQueues = KEYS[2]
3
3
  local keyQueues = KEYS[3]
4
4
  local keyQueueProperties = KEYS[4]
5
5
 
6
- ---
7
-
8
6
  local namespace = ARGV[1]
9
7
  local queue = ARGV[2]
10
8
  local queuePropertiesQueueType = ARGV[3]
@@ -12,12 +10,19 @@ local queueType = ARGV[4]
12
10
  local queuePropertiesQueueDeliveryModel = ARGV[5]
13
11
  local deliveryModel = ARGV[6]
14
12
 
15
- if redis.call("SISMEMBER", keyQueues, queue) == 0 then
16
- redis.call("SADD", keyQueues, queue)
17
- redis.call("SADD", keyNsQueues, queue)
18
- redis.call("SADD", keyNamespaces, namespace)
19
- redis.call("HSET", keyQueueProperties, queuePropertiesQueueType, queueType)
20
- redis.call("HSET", keyQueueProperties, queuePropertiesQueueDeliveryModel, deliveryModel)
21
- return 'OK'
13
+ -- Check if queue already exists
14
+ if redis.call("SISMEMBER", keyQueues, queue) == 1 then
15
+ return 'QUEUE_EXISTS'
22
16
  end
23
- return 'QUEUE_EXISTS'
17
+
18
+ --
19
+ redis.call("SADD", keyQueues, queue)
20
+ redis.call("SADD", keyNsQueues, queue)
21
+ redis.call("SADD", keyNamespaces, namespace)
22
+
23
+ --
24
+ redis.call("HSET", keyQueueProperties,
25
+ queuePropertiesQueueType, queueType,
26
+ queuePropertiesQueueDeliveryModel, deliveryModel)
27
+
28
+ return 'OK'
@@ -9,26 +9,37 @@ local typeLIFOQueue = ARGV[3]
9
9
  local typeFIFOQueue = ARGV[4]
10
10
  local groupId = ARGV[5]
11
11
 
12
+ -- Get queue type once and validate it exists
12
13
  local queueType = redis.call("HGET", keyQueueProperties, queuePropertiesQueueType)
13
14
  if queueType == false then
14
15
  return 'QUEUE_NOT_FOUND'
15
16
  end
16
17
 
17
- local count = 0;
18
+ -- Determine which key to check based on queue type (only once)
19
+ local pendingKey
18
20
  if queueType == typePriorityQueue then
19
- count = redis.call("ZCARD", keyQueuePendingPriority)
20
- elseif queueType == typeLIFOQueue or queueType == typeFIFOQueue then
21
- count = redis.call("LLEN", keyQueuePending)
21
+ pendingKey = keyQueuePendingPriority
22
+ else
23
+ pendingKey = keyQueuePending
22
24
  end
25
+
26
+ -- Check if the queue is empty using the appropriate command
27
+ local count = 0
28
+ if queueType == typePriorityQueue then
29
+ count = redis.call("ZCARD", pendingKey)
30
+ else
31
+ count = redis.call("LLEN", pendingKey)
32
+ end
33
+
34
+ -- Return early if the queue is not empty
23
35
  if count > 0 then
24
36
  return 'CONSUMER_GROUP_NOT_EMPTY'
25
37
  end
26
38
 
39
+ -- Remove the consumer group
27
40
  redis.call("SREM", keyQueueConsumerGroups, groupId)
28
- if queueType == typePriorityQueue then
29
- redis.call("DEL", keyQueuePendingPriority)
30
- elseif queueType == typeLIFOQueue or queueType == typeFIFOQueue then
31
- redis.call("DEL", keyQueuePending)
32
- end
41
+
42
+ -- Delete the pending queue
43
+ redis.call("DEL", pendingKey)
33
44
 
34
45
  return 'OK'