atomic-queues 1.6.2 → 2.0.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 (337) hide show
  1. package/README.md +273 -413
  2. package/dist/cli/generators/json-schema.d.ts +3 -0
  3. package/dist/cli/generators/json-schema.d.ts.map +1 -0
  4. package/dist/cli/generators/json-schema.js +31 -0
  5. package/dist/cli/generators/json-schema.js.map +1 -0
  6. package/dist/cli/generators/typescript.d.ts +3 -0
  7. package/dist/cli/generators/typescript.d.ts.map +1 -0
  8. package/dist/cli/generators/typescript.js +62 -0
  9. package/dist/cli/generators/typescript.js.map +1 -0
  10. package/dist/cli/index.d.ts +3 -0
  11. package/dist/cli/index.d.ts.map +1 -0
  12. package/dist/cli/index.js +156 -0
  13. package/dist/cli/index.js.map +1 -0
  14. package/dist/decorators/actor.decorators.d.ts +4 -0
  15. package/dist/decorators/actor.decorators.d.ts.map +1 -0
  16. package/dist/decorators/actor.decorators.js +32 -0
  17. package/dist/decorators/actor.decorators.js.map +1 -0
  18. package/dist/decorators/constants.d.ts +5 -12
  19. package/dist/decorators/constants.d.ts.map +1 -1
  20. package/dist/decorators/constants.js +10 -16
  21. package/dist/decorators/constants.js.map +1 -1
  22. package/dist/decorators/index.d.ts +4 -4
  23. package/dist/decorators/index.d.ts.map +1 -1
  24. package/dist/decorators/index.js +4 -4
  25. package/dist/decorators/index.js.map +1 -1
  26. package/dist/decorators/interfaces.d.ts +18 -78
  27. package/dist/decorators/interfaces.d.ts.map +1 -1
  28. package/dist/decorators/metadata-readers.d.ts +5 -26
  29. package/dist/decorators/metadata-readers.d.ts.map +1 -1
  30. package/dist/decorators/metadata-readers.js +16 -33
  31. package/dist/decorators/metadata-readers.js.map +1 -1
  32. package/dist/decorators/schema.decorators.d.ts +2 -0
  33. package/dist/decorators/schema.decorators.d.ts.map +1 -0
  34. package/dist/decorators/schema.decorators.js +13 -0
  35. package/dist/decorators/schema.decorators.js.map +1 -0
  36. package/dist/domain/interfaces/config.interfaces.d.ts +52 -153
  37. package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -1
  38. package/dist/domain/interfaces/index.d.ts +0 -7
  39. package/dist/domain/interfaces/index.d.ts.map +1 -1
  40. package/dist/domain/interfaces/index.js +0 -7
  41. package/dist/domain/interfaces/index.js.map +1 -1
  42. package/dist/domain/interfaces/job.interfaces.d.ts +32 -65
  43. package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -1
  44. package/dist/index.d.ts +0 -34
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +0 -39
  47. package/dist/index.js.map +1 -1
  48. package/dist/module/atomic-queues.module.d.ts +0 -83
  49. package/dist/module/atomic-queues.module.d.ts.map +1 -1
  50. package/dist/module/atomic-queues.module.js +35 -134
  51. package/dist/module/atomic-queues.module.js.map +1 -1
  52. package/dist/services/actor-registry/actor-registry.service.d.ts +30 -0
  53. package/dist/services/actor-registry/actor-registry.service.d.ts.map +1 -0
  54. package/dist/services/actor-registry/actor-registry.service.js +186 -0
  55. package/dist/services/actor-registry/actor-registry.service.js.map +1 -0
  56. package/dist/services/actor-registry/index.d.ts +2 -0
  57. package/dist/services/actor-registry/index.d.ts.map +1 -0
  58. package/dist/services/actor-registry/index.js +18 -0
  59. package/dist/services/actor-registry/index.js.map +1 -0
  60. package/dist/services/actor-system/actor-system.service.d.ts +19 -0
  61. package/dist/services/actor-system/actor-system.service.d.ts.map +1 -0
  62. package/dist/services/actor-system/actor-system.service.js +86 -0
  63. package/dist/services/actor-system/actor-system.service.js.map +1 -0
  64. package/dist/services/actor-system/index.d.ts +2 -0
  65. package/dist/services/actor-system/index.d.ts.map +1 -0
  66. package/dist/services/{cron-manager → actor-system}/index.js +1 -1
  67. package/dist/services/actor-system/index.js.map +1 -0
  68. package/dist/services/command-discovery/command-discovery.service.d.ts +6 -53
  69. package/dist/services/command-discovery/command-discovery.service.d.ts.map +1 -1
  70. package/dist/services/command-discovery/command-discovery.service.js +0 -59
  71. package/dist/services/command-discovery/command-discovery.service.js.map +1 -1
  72. package/dist/services/constants.d.ts +2 -9
  73. package/dist/services/constants.d.ts.map +1 -1
  74. package/dist/services/constants.js +3 -10
  75. package/dist/services/constants.js.map +1 -1
  76. package/dist/services/executor-pool/executor-pool.service.d.ts +31 -0
  77. package/dist/services/executor-pool/executor-pool.service.d.ts.map +1 -0
  78. package/dist/services/executor-pool/executor-pool.service.js +147 -0
  79. package/dist/services/executor-pool/executor-pool.service.js.map +1 -0
  80. package/dist/services/executor-pool/index.d.ts +2 -0
  81. package/dist/services/executor-pool/index.d.ts.map +1 -0
  82. package/dist/services/{queue-manager → executor-pool}/index.js +1 -1
  83. package/dist/services/executor-pool/index.js.map +1 -0
  84. package/dist/services/gate/gate.service.d.ts +17 -0
  85. package/dist/services/gate/gate.service.d.ts.map +1 -0
  86. package/dist/services/gate/gate.service.js +66 -0
  87. package/dist/services/gate/gate.service.js.map +1 -0
  88. package/dist/services/gate/index.d.ts +2 -0
  89. package/dist/services/gate/index.d.ts.map +1 -0
  90. package/dist/services/{spawn-queue → gate}/index.js +1 -1
  91. package/dist/services/gate/index.js.map +1 -0
  92. package/dist/services/handler-executor/handler-executor.service.d.ts +32 -0
  93. package/dist/services/handler-executor/handler-executor.service.d.ts.map +1 -0
  94. package/dist/services/handler-executor/handler-executor.service.js +186 -0
  95. package/dist/services/handler-executor/handler-executor.service.js.map +1 -0
  96. package/dist/services/handler-executor/index.d.ts +2 -0
  97. package/dist/services/handler-executor/index.d.ts.map +1 -0
  98. package/dist/services/handler-executor/index.js +18 -0
  99. package/dist/services/handler-executor/index.js.map +1 -0
  100. package/dist/services/index.d.ts +11 -12
  101. package/dist/services/index.d.ts.map +1 -1
  102. package/dist/services/index.js +11 -12
  103. package/dist/services/index.js.map +1 -1
  104. package/dist/services/log/index.d.ts +2 -0
  105. package/dist/services/log/index.d.ts.map +1 -0
  106. package/dist/services/{index-manager → log}/index.js +1 -1
  107. package/dist/services/log/index.js.map +1 -0
  108. package/dist/services/log/log.service.d.ts +21 -0
  109. package/dist/services/log/log.service.d.ts.map +1 -0
  110. package/dist/services/log/log.service.js +92 -0
  111. package/dist/services/log/log.service.js.map +1 -0
  112. package/dist/services/queue-bus/index.d.ts +0 -4
  113. package/dist/services/queue-bus/index.d.ts.map +1 -1
  114. package/dist/services/queue-bus/index.js +0 -4
  115. package/dist/services/queue-bus/index.js.map +1 -1
  116. package/dist/services/queue-bus/queue-bus.service.d.ts +44 -198
  117. package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
  118. package/dist/services/queue-bus/queue-bus.service.js +103 -259
  119. package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
  120. package/dist/services/queue-bus/queue-bus.utils.d.ts +0 -28
  121. package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -1
  122. package/dist/services/queue-bus/queue-bus.utils.js +1 -41
  123. package/dist/services/queue-bus/queue-bus.utils.js.map +1 -1
  124. package/dist/services/registry/index.d.ts +4 -0
  125. package/dist/services/registry/index.d.ts.map +1 -0
  126. package/dist/services/{queue-events-manager → registry}/index.js +3 -1
  127. package/dist/services/registry/index.js.map +1 -0
  128. package/dist/services/registry/registry.service.d.ts +43 -0
  129. package/dist/services/registry/registry.service.d.ts.map +1 -0
  130. package/dist/services/registry/registry.service.js +379 -0
  131. package/dist/services/registry/registry.service.js.map +1 -0
  132. package/dist/services/registry/registry.types.d.ts +24 -0
  133. package/dist/services/registry/registry.types.d.ts.map +1 -0
  134. package/dist/{domain/interfaces/lock.interfaces.js → services/registry/registry.types.js} +1 -1
  135. package/dist/services/registry/registry.types.js.map +1 -0
  136. package/dist/services/registry/schema-converter.d.ts +2 -0
  137. package/dist/services/registry/schema-converter.d.ts.map +1 -0
  138. package/dist/services/registry/schema-converter.js +27 -0
  139. package/dist/services/registry/schema-converter.js.map +1 -0
  140. package/dist/services/result-collector/index.d.ts +2 -0
  141. package/dist/services/result-collector/index.d.ts.map +1 -0
  142. package/dist/services/result-collector/index.js +18 -0
  143. package/dist/services/result-collector/index.js.map +1 -0
  144. package/dist/services/result-collector/result-collector.service.d.ts +17 -0
  145. package/dist/services/result-collector/result-collector.service.d.ts.map +1 -0
  146. package/dist/services/result-collector/result-collector.service.js +92 -0
  147. package/dist/services/result-collector/result-collector.service.js.map +1 -0
  148. package/dist/services/scheduler/index.d.ts +2 -0
  149. package/dist/services/scheduler/index.d.ts.map +1 -0
  150. package/dist/services/{job-processor → scheduler}/index.js +1 -1
  151. package/dist/services/scheduler/index.js.map +1 -0
  152. package/dist/services/scheduler/scheduler.service.d.ts +17 -0
  153. package/dist/services/scheduler/scheduler.service.d.ts.map +1 -0
  154. package/dist/services/scheduler/scheduler.service.js +116 -0
  155. package/dist/services/scheduler/scheduler.service.js.map +1 -0
  156. package/dist/services/shutdown/index.d.ts +2 -0
  157. package/dist/services/shutdown/index.d.ts.map +1 -0
  158. package/dist/services/shutdown/index.js +18 -0
  159. package/dist/services/shutdown/index.js.map +1 -0
  160. package/dist/services/shutdown/shutdown.service.d.ts +8 -0
  161. package/dist/services/shutdown/shutdown.service.d.ts.map +1 -0
  162. package/dist/services/shutdown/shutdown.service.js +29 -0
  163. package/dist/services/shutdown/shutdown.service.js.map +1 -0
  164. package/dist/utils/index.d.ts +3 -1
  165. package/dist/utils/index.d.ts.map +1 -1
  166. package/dist/utils/index.js +3 -1
  167. package/dist/utils/index.js.map +1 -1
  168. package/dist/utils/naming.utils.d.ts +0 -16
  169. package/dist/utils/naming.utils.d.ts.map +1 -1
  170. package/dist/utils/naming.utils.js +0 -29
  171. package/dist/utils/naming.utils.js.map +1 -1
  172. package/package.json +19 -11
  173. package/dist/decorators/legacy.decorators.d.ts +0 -36
  174. package/dist/decorators/legacy.decorators.d.ts.map +0 -1
  175. package/dist/decorators/legacy.decorators.js +0 -61
  176. package/dist/decorators/legacy.decorators.js.map +0 -1
  177. package/dist/decorators/scaler.decorators.d.ts +0 -65
  178. package/dist/decorators/scaler.decorators.d.ts.map +0 -1
  179. package/dist/decorators/scaler.decorators.js +0 -103
  180. package/dist/decorators/scaler.decorators.js.map +0 -1
  181. package/dist/decorators/type-guards.d.ts +0 -18
  182. package/dist/decorators/type-guards.d.ts.map +0 -1
  183. package/dist/decorators/type-guards.js +0 -32
  184. package/dist/decorators/type-guards.js.map +0 -1
  185. package/dist/decorators/worker.decorators.d.ts +0 -58
  186. package/dist/decorators/worker.decorators.d.ts.map +0 -1
  187. package/dist/decorators/worker.decorators.js +0 -92
  188. package/dist/decorators/worker.decorators.js.map +0 -1
  189. package/dist/domain/interfaces/event.interfaces.d.ts +0 -71
  190. package/dist/domain/interfaces/event.interfaces.d.ts.map +0 -1
  191. package/dist/domain/interfaces/event.interfaces.js +0 -3
  192. package/dist/domain/interfaces/event.interfaces.js.map +0 -1
  193. package/dist/domain/interfaces/index-tracking.interfaces.d.ts +0 -69
  194. package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +0 -1
  195. package/dist/domain/interfaces/index-tracking.interfaces.js +0 -3
  196. package/dist/domain/interfaces/index-tracking.interfaces.js.map +0 -1
  197. package/dist/domain/interfaces/lock.interfaces.d.ts +0 -54
  198. package/dist/domain/interfaces/lock.interfaces.d.ts.map +0 -1
  199. package/dist/domain/interfaces/lock.interfaces.js.map +0 -1
  200. package/dist/domain/interfaces/process.interfaces.d.ts +0 -44
  201. package/dist/domain/interfaces/process.interfaces.d.ts.map +0 -1
  202. package/dist/domain/interfaces/process.interfaces.js +0 -3
  203. package/dist/domain/interfaces/process.interfaces.js.map +0 -1
  204. package/dist/domain/interfaces/queue.interfaces.d.ts +0 -46
  205. package/dist/domain/interfaces/queue.interfaces.d.ts.map +0 -1
  206. package/dist/domain/interfaces/queue.interfaces.js +0 -3
  207. package/dist/domain/interfaces/queue.interfaces.js.map +0 -1
  208. package/dist/domain/interfaces/scaling.interfaces.d.ts +0 -62
  209. package/dist/domain/interfaces/scaling.interfaces.d.ts.map +0 -1
  210. package/dist/domain/interfaces/scaling.interfaces.js +0 -3
  211. package/dist/domain/interfaces/scaling.interfaces.js.map +0 -1
  212. package/dist/domain/interfaces/worker.interfaces.d.ts +0 -120
  213. package/dist/domain/interfaces/worker.interfaces.d.ts.map +0 -1
  214. package/dist/domain/interfaces/worker.interfaces.js +0 -3
  215. package/dist/domain/interfaces/worker.interfaces.js.map +0 -1
  216. package/dist/services/cron-manager/cron-manager.service.d.ts +0 -199
  217. package/dist/services/cron-manager/cron-manager.service.d.ts.map +0 -1
  218. package/dist/services/cron-manager/cron-manager.service.js +0 -583
  219. package/dist/services/cron-manager/cron-manager.service.js.map +0 -1
  220. package/dist/services/cron-manager/index.d.ts +0 -2
  221. package/dist/services/cron-manager/index.d.ts.map +0 -1
  222. package/dist/services/cron-manager/index.js.map +0 -1
  223. package/dist/services/index-manager/index-manager.service.d.ts +0 -142
  224. package/dist/services/index-manager/index-manager.service.d.ts.map +0 -1
  225. package/dist/services/index-manager/index-manager.service.js +0 -325
  226. package/dist/services/index-manager/index-manager.service.js.map +0 -1
  227. package/dist/services/index-manager/index.d.ts +0 -2
  228. package/dist/services/index-manager/index.d.ts.map +0 -1
  229. package/dist/services/index-manager/index.js.map +0 -1
  230. package/dist/services/job-processor/index.d.ts +0 -2
  231. package/dist/services/job-processor/index.d.ts.map +0 -1
  232. package/dist/services/job-processor/index.js.map +0 -1
  233. package/dist/services/job-processor/job-processor.service.d.ts +0 -156
  234. package/dist/services/job-processor/job-processor.service.d.ts.map +0 -1
  235. package/dist/services/job-processor/job-processor.service.js +0 -331
  236. package/dist/services/job-processor/job-processor.service.js.map +0 -1
  237. package/dist/services/processor-discovery/decorator-discovery.service.d.ts +0 -40
  238. package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +0 -1
  239. package/dist/services/processor-discovery/decorator-discovery.service.js +0 -191
  240. package/dist/services/processor-discovery/decorator-discovery.service.js.map +0 -1
  241. package/dist/services/processor-discovery/index.d.ts +0 -6
  242. package/dist/services/processor-discovery/index.d.ts.map +0 -1
  243. package/dist/services/processor-discovery/index.js +0 -22
  244. package/dist/services/processor-discovery/index.js.map +0 -1
  245. package/dist/services/processor-discovery/processor-discovery.service.d.ts +0 -98
  246. package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +0 -1
  247. package/dist/services/processor-discovery/processor-discovery.service.js +0 -258
  248. package/dist/services/processor-discovery/processor-discovery.service.js.map +0 -1
  249. package/dist/services/processor-discovery/processor-registry.d.ts +0 -58
  250. package/dist/services/processor-discovery/processor-registry.d.ts.map +0 -1
  251. package/dist/services/processor-discovery/processor-registry.js +0 -74
  252. package/dist/services/processor-discovery/processor-registry.js.map +0 -1
  253. package/dist/services/processor-discovery/scaling-registration.service.d.ts +0 -60
  254. package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +0 -1
  255. package/dist/services/processor-discovery/scaling-registration.service.js +0 -261
  256. package/dist/services/processor-discovery/scaling-registration.service.js.map +0 -1
  257. package/dist/services/processor-discovery/worker-factory.service.d.ts +0 -54
  258. package/dist/services/processor-discovery/worker-factory.service.d.ts.map +0 -1
  259. package/dist/services/processor-discovery/worker-factory.service.js +0 -185
  260. package/dist/services/processor-discovery/worker-factory.service.js.map +0 -1
  261. package/dist/services/queue-bus/entity-target.d.ts +0 -58
  262. package/dist/services/queue-bus/entity-target.d.ts.map +0 -1
  263. package/dist/services/queue-bus/entity-target.js +0 -109
  264. package/dist/services/queue-bus/entity-target.js.map +0 -1
  265. package/dist/services/queue-bus/queue-bus.types.d.ts +0 -40
  266. package/dist/services/queue-bus/queue-bus.types.d.ts.map +0 -1
  267. package/dist/services/queue-bus/queue-bus.types.js +0 -3
  268. package/dist/services/queue-bus/queue-bus.types.js.map +0 -1
  269. package/dist/services/queue-bus/queue-target.d.ts +0 -61
  270. package/dist/services/queue-bus/queue-target.d.ts.map +0 -1
  271. package/dist/services/queue-bus/queue-target.js +0 -123
  272. package/dist/services/queue-bus/queue-target.js.map +0 -1
  273. package/dist/services/queue-events-manager/index.d.ts +0 -2
  274. package/dist/services/queue-events-manager/index.d.ts.map +0 -1
  275. package/dist/services/queue-events-manager/index.js.map +0 -1
  276. package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +0 -120
  277. package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +0 -1
  278. package/dist/services/queue-events-manager/queue-events-manager.service.js +0 -343
  279. package/dist/services/queue-events-manager/queue-events-manager.service.js.map +0 -1
  280. package/dist/services/queue-manager/index.d.ts +0 -2
  281. package/dist/services/queue-manager/index.d.ts.map +0 -1
  282. package/dist/services/queue-manager/index.js.map +0 -1
  283. package/dist/services/queue-manager/queue-manager.service.d.ts +0 -148
  284. package/dist/services/queue-manager/queue-manager.service.d.ts.map +0 -1
  285. package/dist/services/queue-manager/queue-manager.service.js +0 -348
  286. package/dist/services/queue-manager/queue-manager.service.js.map +0 -1
  287. package/dist/services/resource-lock/index.d.ts +0 -2
  288. package/dist/services/resource-lock/index.d.ts.map +0 -1
  289. package/dist/services/resource-lock/index.js +0 -18
  290. package/dist/services/resource-lock/index.js.map +0 -1
  291. package/dist/services/resource-lock/resource-lock.service.d.ts +0 -120
  292. package/dist/services/resource-lock/resource-lock.service.d.ts.map +0 -1
  293. package/dist/services/resource-lock/resource-lock.service.js +0 -367
  294. package/dist/services/resource-lock/resource-lock.service.js.map +0 -1
  295. package/dist/services/service-queue/index.d.ts +0 -3
  296. package/dist/services/service-queue/index.d.ts.map +0 -1
  297. package/dist/services/service-queue/index.js +0 -19
  298. package/dist/services/service-queue/index.js.map +0 -1
  299. package/dist/services/service-queue/service-queue.service.d.ts +0 -199
  300. package/dist/services/service-queue/service-queue.service.d.ts.map +0 -1
  301. package/dist/services/service-queue/service-queue.service.js +0 -617
  302. package/dist/services/service-queue/service-queue.service.js.map +0 -1
  303. package/dist/services/service-queue/service-queue.types.d.ts +0 -32
  304. package/dist/services/service-queue/service-queue.types.d.ts.map +0 -1
  305. package/dist/services/service-queue/service-queue.types.js +0 -27
  306. package/dist/services/service-queue/service-queue.types.js.map +0 -1
  307. package/dist/services/shutdown-state/index.d.ts +0 -2
  308. package/dist/services/shutdown-state/index.d.ts.map +0 -1
  309. package/dist/services/shutdown-state/index.js +0 -18
  310. package/dist/services/shutdown-state/index.js.map +0 -1
  311. package/dist/services/shutdown-state/shutdown-state.service.d.ts +0 -69
  312. package/dist/services/shutdown-state/shutdown-state.service.d.ts.map +0 -1
  313. package/dist/services/shutdown-state/shutdown-state.service.js +0 -127
  314. package/dist/services/shutdown-state/shutdown-state.service.js.map +0 -1
  315. package/dist/services/spawn-queue/index.d.ts +0 -2
  316. package/dist/services/spawn-queue/index.d.ts.map +0 -1
  317. package/dist/services/spawn-queue/index.js.map +0 -1
  318. package/dist/services/spawn-queue/spawn-queue.service.d.ts +0 -119
  319. package/dist/services/spawn-queue/spawn-queue.service.d.ts.map +0 -1
  320. package/dist/services/spawn-queue/spawn-queue.service.js +0 -273
  321. package/dist/services/spawn-queue/spawn-queue.service.js.map +0 -1
  322. package/dist/services/worker-manager/index.d.ts +0 -2
  323. package/dist/services/worker-manager/index.d.ts.map +0 -1
  324. package/dist/services/worker-manager/index.js +0 -18
  325. package/dist/services/worker-manager/index.js.map +0 -1
  326. package/dist/services/worker-manager/worker-manager.service.d.ts +0 -221
  327. package/dist/services/worker-manager/worker-manager.service.d.ts.map +0 -1
  328. package/dist/services/worker-manager/worker-manager.service.js +0 -591
  329. package/dist/services/worker-manager/worker-manager.service.js.map +0 -1
  330. package/dist/utils/helpers.d.ts +0 -5
  331. package/dist/utils/helpers.d.ts.map +0 -1
  332. package/dist/utils/helpers.js +0 -21
  333. package/dist/utils/helpers.js.map +0 -1
  334. package/dist/utils/job.utils.d.ts +0 -50
  335. package/dist/utils/job.utils.d.ts.map +0 -1
  336. package/dist/utils/job.utils.js +0 -89
  337. package/dist/utils/job.utils.js.map +0 -1
@@ -14,9 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./queue-bus.types"), exports);
18
- __exportStar(require("./queue-bus.utils"), exports);
19
- __exportStar(require("./queue-target"), exports);
20
- __exportStar(require("./entity-target"), exports);
21
17
  __exportStar(require("./queue-bus.service"), exports);
22
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/queue-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/queue-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
@@ -1,213 +1,59 @@
1
1
  import { Type } from '@nestjs/common';
2
- import { Job } from 'bullmq';
3
- import { QueueManagerService } from '../queue-manager/queue-manager.service';
4
- import { QueueEventsManagerService } from '../queue-events-manager/queue-events-manager.service';
5
- import { IAtomicQueuesModuleConfig } from '../../domain/interfaces';
6
- import { QueueBusExecuteOptions, EnqueueOptions, CommandRegistryEntry } from './queue-bus.types';
7
- import { QueueTarget } from './queue-target';
8
- import { EntityTarget } from './entity-target';
9
- /**
10
- * QueueBus
11
- *
12
- * A bus that works like CommandBus/QueryBus but instead of executing
13
- * commands/queries directly, it adds them to a BullMQ queue for
14
- * async processing by a worker.
15
- *
16
- * Key Features:
17
- * - No decorators needed on commands/queries
18
- * - Job name = class name (MakeBetCommand)
19
- * - Worker looks up class by name and instantiates from job.data
20
- * - Works with @nestjs/cqrs CommandBus/QueryBus on worker side
21
- * - Fluent API: queueBus.forProcessor(Processor).enqueue(command)
22
- * - Zero-boilerplate API: queueBus.forEntity('type').enqueue(command)
23
- * - Direct routing: queueBus.enqueue(command) with @EntityType decorator
24
- *
25
- * @example
26
- * ```typescript
27
- * // Option 1: With @WorkerProcessor class (full control)
28
- * await this.queueBus
29
- * .forProcessor(TableWorkerProcessor)
30
- * .enqueue(new MakeBetCommand(tableId, bets, player));
31
- *
32
- * // Option 2: With entity type (zero boilerplate)
33
- * await this.queueBus
34
- * .forEntity('table')
35
- * .enqueue(new MakeBetCommand(tableId, bets, player));
36
- *
37
- * // Option 3: Direct enqueue with @EntityType on command
38
- * @EntityType('table')
39
- * class MakeBetCommand { ... }
40
- *
41
- * await this.queueBus.enqueue(new MakeBetCommand(tableId, bets, player));
42
- * ```
43
- */
2
+ import { IAtomicQueuesModuleConfig, IMessageRef } from '../../domain';
3
+ import { LogService } from '../log';
4
+ import { ExecutorPoolService } from '../executor-pool';
5
+ import { HandlerExecutor } from '../handler-executor';
6
+ import { ResultCollector } from '../result-collector';
7
+ import { RegistryService } from '../registry';
44
8
  export declare class QueueBus {
45
- private readonly queueManager;
46
- private readonly queueEventsManager?;
47
- private readonly logger;
48
- /**
49
- * Cache of processor options by class
50
- */
51
- private readonly processorCache;
52
- /**
53
- * Global registry of command/query classes
54
- * Key: class name (e.g., 'MakeBetCommand')
55
- * Value: registry entry with class reference
56
- */
57
- private static readonly globalRegistry;
58
- /**
59
- * Module config for entity defaults
60
- */
61
9
  private readonly config;
62
- constructor(queueManager: QueueManagerService, queueEventsManager?: QueueEventsManagerService | undefined, config?: IAtomicQueuesModuleConfig);
63
- /**
64
- * Get key prefix from config using resolveKeyPrefix utility
65
- */
66
- private get keyPrefix();
67
- /**
68
- * Get entity config from module config
69
- */
70
- private getEntityConfig;
71
- /**
72
- * Target a specific processor's queue for enqueueing commands.
73
- * Use this when you have a @WorkerProcessor class with full config control.
74
- *
75
- * @param processorClass - The @WorkerProcessor decorated class
76
- * @returns QueueTarget builder for fluent API
77
- *
78
- * @example
79
- * await this.queueBus
80
- * .forProcessor(TableWorkerProcessor)
81
- * .enqueue(new MakeBetCommand(tableId, bets, player));
82
- */
83
- forProcessor(processorClass: Type<any>): QueueTarget;
84
- /**
85
- * Target a specific entity type's queue without needing a @WorkerProcessor class.
86
- * This is the zero-boilerplate approach when you've configured entity defaults
87
- * in the module config.
88
- *
89
- * @param entityType - The entity type (e.g., 'table', 'account')
90
- * @returns EntityTarget builder for fluent API
91
- *
92
- * @example
93
- * // With module config:
94
- * // entities: { table: { defaultEntityId: 'tableId' } }
95
- *
96
- * await this.queueBus
97
- * .forEntity('table')
98
- * .enqueue(new MakeBetCommand(tableId, bets, player));
99
- */
100
- forEntity(entityType: string): EntityTarget;
101
- /**
102
- * Direct enqueue using @EntityType decorator on the command class.
103
- * This is the most ergonomic approach for commands that have explicit routing.
104
- *
105
- * @param commandOrQuery - The command or query instance (must have @EntityType decorator)
106
- * @param options - Optional settings (entityId override, jobOptions)
107
- * @returns The created BullMQ job
108
- *
109
- * @example
110
- * @EntityType('account')
111
- * class WithdrawCommand {
112
- * @QueueEntityId()
113
- * accountId: string;
114
- * // ...
115
- * }
116
- *
117
- * await this.queueBus.enqueue(new WithdrawCommand(accountId, amount));
118
- */
119
- enqueue<T extends object>(commandOrQuery: T, options?: EnqueueOptions): Promise<Job>;
120
- /**
121
- * Direct enqueue and wait using @EntityType decorator on the command class.
122
- */
123
- enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: EnqueueOptions & {
10
+ private readonly logService;
11
+ private readonly executorPool;
12
+ private readonly handlerExecutor;
13
+ private readonly resultCollector;
14
+ private readonly registryService?;
15
+ private readonly logger;
16
+ private readonly keyPrefix;
17
+ constructor(config: IAtomicQueuesModuleConfig, logService: LogService, executorPool: ExecutorPoolService, handlerExecutor: HandlerExecutor, resultCollector: ResultCollector, registryService?: RegistryService | undefined);
18
+ enqueue<T extends object>(commandOrQuery: T, options?: {
19
+ entityId?: string;
20
+ }): Promise<IMessageRef>;
21
+ forEntity(entityType: string): {
22
+ enqueue<T extends object>(commandOrQuery: T, options?: {
23
+ entityId?: string;
24
+ }): Promise<IMessageRef>;
25
+ enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: {
26
+ entityId?: string;
27
+ timeout?: number;
28
+ }): Promise<R>;
29
+ enqueueBulk<T extends object>(commands: T[], options?: {
30
+ entityId?: string;
31
+ }): Promise<IMessageRef[]>;
32
+ };
33
+ enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: {
34
+ entityId?: string;
124
35
  timeout?: number;
125
36
  }): Promise<R>;
126
- /**
127
- * Register a command class for worker-side instantiation
128
- *
129
- * @example
130
- * QueueBus.register(MakeBetCommand);
131
- * QueueBus.register(GetTableStateQuery, true); // isQuery = true
132
- */
37
+ private static readonly globalRegistry;
133
38
  static register(targetClass: Type<any>, isQuery?: boolean): void;
134
- /**
135
- * Register multiple commands at once
136
- */
137
39
  static registerCommands(...commands: Type<any>[]): void;
138
- /**
139
- * Register multiple queries at once
140
- */
141
40
  static registerQueries(...queries: Type<any>[]): void;
142
- /**
143
- * Get a registered class by name
144
- */
145
- static getRegistered(className: string): CommandRegistryEntry | undefined;
146
- /**
147
- * Check if a class name is registered
148
- */
41
+ static getRegistered(className: string): {
42
+ className: string;
43
+ targetClass: Type<any>;
44
+ isQuery: boolean;
45
+ } | undefined;
149
46
  static isRegistered(className: string): boolean;
150
- /**
151
- * Get all registered entries
152
- */
153
- static getAllRegistered(): Map<string, CommandRegistryEntry>;
154
- /**
155
- * Auto-discover and register all commands/queries from CQRS handlers
156
- *
157
- * This method discovers all classes decorated with @CommandHandler and @QueryHandler
158
- * from @nestjs/cqrs and automatically registers them with QueueBus.
159
- *
160
- * Call this during module init to enable zero-config command registration.
161
- *
162
- * @param discoveryService - NestJS DiscoveryService
163
- * @returns Number of commands and queries discovered
164
- *
165
- * @example
166
- * ```typescript
167
- * @Module({})
168
- * export class MyModule implements OnModuleInit {
169
- * constructor(private discoveryService: DiscoveryService) {}
170
- *
171
- * onModuleInit() {
172
- * const { commands, queries } = QueueBus.discoverFromCqrs(this.discoveryService);
173
- * console.log(`Auto-registered ${commands} commands, ${queries} queries`);
174
- * }
175
- * }
176
- * ```
177
- */
47
+ static getAllRegistered(): Map<string, {
48
+ className: string;
49
+ targetClass: Type<any>;
50
+ isQuery: boolean;
51
+ }>;
178
52
  static discoverFromCqrs(discoveryService: any): {
179
53
  commands: number;
180
54
  queries: number;
181
55
  };
182
- /**
183
- * Execute a command/query by adding it to a queue
184
- *
185
- * @deprecated Use .forProcessor(ProcessorClass).enqueue(command) instead
186
- *
187
- * @param queuePattern - Queue name pattern with {entityId} placeholder
188
- * @param commandOrQuery - The command/query instance to execute
189
- * @param options - Optional settings (entityId, jobOptions)
190
- * @returns The created BullMQ job
191
- */
192
- execute<T extends object>(queuePattern: string, commandOrQuery: T, options?: QueueBusExecuteOptions): Promise<Job>;
193
- /**
194
- * Execute and wait for result (if supported by worker)
195
- * Uses BullMQ's waitUntilFinished
196
- *
197
- * @deprecated Use .forProcessor(ProcessorClass).enqueueAndWait(command) instead
198
- */
199
- executeAndWait<T extends object, R = any>(queuePattern: string, commandOrQuery: T, options?: QueueBusExecuteOptions & {
200
- timeout?: number;
201
- }): Promise<R>;
202
- /**
203
- * Add multiple commands/queries to the same queue in bulk
204
- *
205
- * @deprecated Use .forProcessor(ProcessorClass).enqueueBulk(commands) instead
206
- */
207
- executeBulk<T extends object>(queuePattern: string, commandsOrQueries: T[], options?: QueueBusExecuteOptions): Promise<Job[]>;
208
- /**
209
- * Resolve queue name by replacing {entityId} placeholder
210
- */
211
- private resolveQueueName;
56
+ private _enqueue;
57
+ private _enqueueAndWait;
212
58
  }
213
59
  //# sourceMappingURL=queue-bus.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue-bus.service.d.ts","sourceRoot":"","sources":["../../../src/services/queue-bus/queue-bus.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-bus.service.d.ts","sourceRoot":"","sources":["../../../src/services/queue-bus/queue-bus.service.ts"],"names":[],"mappings":"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"}