atomic-queues 1.6.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +182 -411
  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
@@ -1,98 +0,0 @@
1
- import { OnModuleInit, Type } from '@nestjs/common';
2
- import { ModuleRef, DiscoveryService } from '@nestjs/core';
3
- import { ICommandBus, IQueryBus, IAtomicQueuesModuleConfig } from '../../domain';
4
- import { CommandDiscoveryService } from '../command-discovery';
5
- import { ProcessorRegistry, RegisteredProcessor, RegisteredScaler } from './processor-registry';
6
- import { DecoratorDiscoveryService } from './decorator-discovery.service';
7
- import { WorkerFactoryService } from './worker-factory.service';
8
- import { ScalingRegistrationService } from './scaling-registration.service';
9
- /**
10
- * ProcessorDiscoveryService
11
- *
12
- * Orchestrator that coordinates discovery, registration, worker creation,
13
- * and scaling setup. Delegates to focused services:
14
- *
15
- * - ProcessorRegistry: state management for processors/scalers/workers
16
- * - DecoratorDiscoveryService: NestJS provider scanning and registration
17
- * - WorkerFactoryService: worker creation and job processing
18
- * - ScalingRegistrationService: scaling/spawn registration logic
19
- *
20
- * @example
21
- * ```typescript
22
- * @WorkerProcessor({ entityType: 'table' })
23
- * @Injectable()
24
- * export class TableProcessor {
25
- * @JobHandler('make-bet')
26
- * async handleMakeBet(job: Job, entityId: string) { ... }
27
- * }
28
- *
29
- * @EntityScaler({ entityType: 'table' })
30
- * @Injectable()
31
- * export class TableScaler {
32
- * @GetActiveEntities()
33
- * async getAllTables() { ... }
34
- * }
35
- * ```
36
- */
37
- export declare class ProcessorDiscoveryService implements OnModuleInit {
38
- private readonly discoveryService;
39
- private readonly moduleRef;
40
- private readonly registry;
41
- private readonly decoratorDiscovery;
42
- private readonly workerFactory;
43
- private readonly scalingRegistration;
44
- private readonly commandDiscovery;
45
- private readonly config;
46
- private readonly logger;
47
- constructor(discoveryService: DiscoveryService, moduleRef: ModuleRef, registry: ProcessorRegistry, decoratorDiscovery: DecoratorDiscoveryService, workerFactory: WorkerFactoryService, scalingRegistration: ScalingRegistrationService, commandDiscovery: CommandDiscoveryService, config: IAtomicQueuesModuleConfig);
48
- onModuleInit(): Promise<void>;
49
- /**
50
- * Set the CommandBus for executing commands from QueueBus registry
51
- */
52
- setCommandBus(commandBus: ICommandBus): void;
53
- /**
54
- * Set the QueryBus for executing queries from QueueBus registry
55
- */
56
- setQueryBus(queryBus: IQueryBus): void;
57
- /**
58
- * Attempt to resolve CommandBus and QueryBus from the DI container.
59
- */
60
- private autoWireCqrsBuses;
61
- /**
62
- * Auto-discover and register commands/queries from @nestjs/cqrs handlers
63
- */
64
- private autoRegisterCommandsFromCqrs;
65
- /**
66
- * Get registered processor for an entity type
67
- */
68
- getProcessor(entityType: string): RegisteredProcessor | undefined;
69
- /**
70
- * Get registered scaler for an entity type
71
- */
72
- getScaler(entityType: string): RegisteredScaler | undefined;
73
- /**
74
- * Get all registered entity types
75
- */
76
- getRegisteredEntityTypes(): string[];
77
- /**
78
- * Check if a worker exists for an entity
79
- */
80
- hasActiveWorker(entityType: string, entityId: string): boolean;
81
- /**
82
- * Get all active workers for an entity type
83
- */
84
- getActiveWorkers(entityType: string): string[];
85
- /**
86
- * Create a worker for an entity using the registered processor
87
- */
88
- createWorkerForEntity(entityType: string, entityId: string): Promise<void>;
89
- /**
90
- * Manually register a processor class
91
- */
92
- registerProcessorClass<T>(processorClass: Type<T>, instance?: T): Promise<void>;
93
- /**
94
- * Manually register a scaler class
95
- */
96
- registerScalerClass<T>(scalerClass: Type<T>, instance?: T): Promise<void>;
97
- }
98
- //# sourceMappingURL=processor-discovery.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,IAAI,EAGL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,yBAA0B,YAAW,YAAY;IAI9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;gBAGtC,gBAAgB,EAAE,gBAAgB,EAC9C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,oBAAoB,EACnC,mBAAmB,EAAE,0BAA0B,EACnC,gBAAgB,EAAE,uBAAuB,EAErD,MAAM,EAAE,yBAAyB;IAG9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAO5C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAOtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAcpC;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIjE;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3D;;OAEG;IACH,wBAAwB,IAAI,MAAM,EAAE;IAIpC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9D;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9C;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;IACG,sBAAsB,CAAC,CAAC,EAC5B,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EACvB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,mBAAmB,CAAC,CAAC,EACzB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EACpB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,IAAI,CAAC;CAYjB"}
@@ -1,258 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- var __param = (this && this.__param) || function (paramIndex, decorator) {
45
- return function (target, key) { decorator(target, key, paramIndex); }
46
- };
47
- var ProcessorDiscoveryService_1;
48
- Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.ProcessorDiscoveryService = void 0;
50
- const common_1 = require("@nestjs/common");
51
- const core_1 = require("@nestjs/core");
52
- const command_discovery_1 = require("../command-discovery");
53
- const queue_bus_1 = require("../queue-bus");
54
- const constants_1 = require("../constants");
55
- const processor_registry_1 = require("./processor-registry");
56
- const decorator_discovery_service_1 = require("./decorator-discovery.service");
57
- const worker_factory_service_1 = require("./worker-factory.service");
58
- const scaling_registration_service_1 = require("./scaling-registration.service");
59
- /**
60
- * ProcessorDiscoveryService
61
- *
62
- * Orchestrator that coordinates discovery, registration, worker creation,
63
- * and scaling setup. Delegates to focused services:
64
- *
65
- * - ProcessorRegistry: state management for processors/scalers/workers
66
- * - DecoratorDiscoveryService: NestJS provider scanning and registration
67
- * - WorkerFactoryService: worker creation and job processing
68
- * - ScalingRegistrationService: scaling/spawn registration logic
69
- *
70
- * @example
71
- * ```typescript
72
- * @WorkerProcessor({ entityType: 'table' })
73
- * @Injectable()
74
- * export class TableProcessor {
75
- * @JobHandler('make-bet')
76
- * async handleMakeBet(job: Job, entityId: string) { ... }
77
- * }
78
- *
79
- * @EntityScaler({ entityType: 'table' })
80
- * @Injectable()
81
- * export class TableScaler {
82
- * @GetActiveEntities()
83
- * async getAllTables() { ... }
84
- * }
85
- * ```
86
- */
87
- let ProcessorDiscoveryService = ProcessorDiscoveryService_1 = class ProcessorDiscoveryService {
88
- constructor(discoveryService, moduleRef, registry, decoratorDiscovery, workerFactory, scalingRegistration, commandDiscovery, config) {
89
- this.discoveryService = discoveryService;
90
- this.moduleRef = moduleRef;
91
- this.registry = registry;
92
- this.decoratorDiscovery = decoratorDiscovery;
93
- this.workerFactory = workerFactory;
94
- this.scalingRegistration = scalingRegistration;
95
- this.commandDiscovery = commandDiscovery;
96
- this.config = config;
97
- this.logger = new common_1.Logger(ProcessorDiscoveryService_1.name);
98
- }
99
- async onModuleInit() {
100
- if (!this.discoveryService) {
101
- this.logger.warn('DiscoveryService not available. Manual registration required.');
102
- return;
103
- }
104
- // Phase 1: Discovery and registration
105
- this.decoratorDiscovery.discoverProcessors(this.registry);
106
- this.decoratorDiscovery.discoverScalers(this.registry);
107
- this.decoratorDiscovery.registerEntitiesFromConfig(this.registry);
108
- // Phase 2: Wire up worker factory
109
- this.workerFactory.setRegistry(this.registry);
110
- // Phase 3: Register all scaling handlers
111
- await this.scalingRegistration.registerAll(this.registry, this.workerFactory);
112
- // Phase 4: CQRS auto-wiring
113
- if (this.config.autoRegisterCommands !== false) {
114
- this.autoRegisterCommandsFromCqrs();
115
- }
116
- this.autoWireCqrsBuses();
117
- }
118
- // ==========================================================================
119
- // CQRS WIRING
120
- // ==========================================================================
121
- /**
122
- * Set the CommandBus for executing commands from QueueBus registry
123
- */
124
- setCommandBus(commandBus) {
125
- this.workerFactory.setCommandBus(commandBus);
126
- if (this.commandDiscovery) {
127
- this.commandDiscovery.setCommandBus(commandBus);
128
- }
129
- }
130
- /**
131
- * Set the QueryBus for executing queries from QueueBus registry
132
- */
133
- setQueryBus(queryBus) {
134
- this.workerFactory.setQueryBus(queryBus);
135
- if (this.commandDiscovery) {
136
- this.commandDiscovery.setQueryBus(queryBus);
137
- }
138
- }
139
- /**
140
- * Attempt to resolve CommandBus and QueryBus from the DI container.
141
- */
142
- autoWireCqrsBuses() {
143
- if (!this.discoveryService)
144
- return;
145
- const providers = this.discoveryService.getProviders();
146
- const commandBusWrapper = providers.find((w) => w.metatype?.name === 'CommandBus' && w.instance);
147
- if (commandBusWrapper?.instance) {
148
- this.setCommandBus(commandBusWrapper.instance);
149
- this.logger.log('Auto-wired CommandBus from @nestjs/cqrs');
150
- }
151
- else {
152
- this.logger.debug('CommandBus not found in DI container. ' +
153
- 'Import CqrsModule in your app or call setCommandBus() manually.');
154
- }
155
- const queryBusWrapper = providers.find((w) => w.metatype?.name === 'QueryBus' && w.instance);
156
- if (queryBusWrapper?.instance) {
157
- this.setQueryBus(queryBusWrapper.instance);
158
- this.logger.log('Auto-wired QueryBus from @nestjs/cqrs');
159
- }
160
- else {
161
- this.logger.debug('QueryBus not found in DI container. ' +
162
- 'Import CqrsModule in your app or call setQueryBus() manually.');
163
- }
164
- }
165
- /**
166
- * Auto-discover and register commands/queries from @nestjs/cqrs handlers
167
- */
168
- autoRegisterCommandsFromCqrs() {
169
- const { commands, queries } = queue_bus_1.QueueBus.discoverFromCqrs(this.discoveryService);
170
- if (commands > 0 || queries > 0) {
171
- this.logger.log(`Auto-registered ${commands} commands and ${queries} queries from CQRS handlers`);
172
- }
173
- }
174
- // ==========================================================================
175
- // PUBLIC API — Delegated to Registry
176
- // ==========================================================================
177
- /**
178
- * Get registered processor for an entity type
179
- */
180
- getProcessor(entityType) {
181
- return this.registry.getProcessor(entityType);
182
- }
183
- /**
184
- * Get registered scaler for an entity type
185
- */
186
- getScaler(entityType) {
187
- return this.registry.getScaler(entityType);
188
- }
189
- /**
190
- * Get all registered entity types
191
- */
192
- getRegisteredEntityTypes() {
193
- return this.registry.getRegisteredEntityTypes();
194
- }
195
- /**
196
- * Check if a worker exists for an entity
197
- */
198
- hasActiveWorker(entityType, entityId) {
199
- return this.registry.hasActiveWorker(entityType, entityId);
200
- }
201
- /**
202
- * Get all active workers for an entity type
203
- */
204
- getActiveWorkers(entityType) {
205
- return this.registry.getActiveWorkers(entityType);
206
- }
207
- // ==========================================================================
208
- // PUBLIC API — Delegated to WorkerFactory
209
- // ==========================================================================
210
- /**
211
- * Create a worker for an entity using the registered processor
212
- */
213
- async createWorkerForEntity(entityType, entityId) {
214
- return this.workerFactory.createWorkerForEntity(entityType, entityId);
215
- }
216
- // ==========================================================================
217
- // PUBLIC API — Manual Registration (Delegated to DecoratorDiscovery)
218
- // ==========================================================================
219
- /**
220
- * Manually register a processor class
221
- */
222
- async registerProcessorClass(processorClass, instance) {
223
- const { getWorkerProcessorMetadata } = await Promise.resolve().then(() => __importStar(require('../../decorators')));
224
- const options = getWorkerProcessorMetadata(processorClass);
225
- if (!options) {
226
- throw new Error(`Class ${processorClass.name} is not decorated with @WorkerProcessor`);
227
- }
228
- const resolvedInstance = instance || this.moduleRef.get(processorClass, { strict: false });
229
- this.decoratorDiscovery.registerProcessor(this.registry, processorClass, resolvedInstance, options);
230
- }
231
- /**
232
- * Manually register a scaler class
233
- */
234
- async registerScalerClass(scalerClass, instance) {
235
- const { getEntityScalerMetadata } = await Promise.resolve().then(() => __importStar(require('../../decorators')));
236
- const options = getEntityScalerMetadata(scalerClass);
237
- if (!options) {
238
- throw new Error(`Class ${scalerClass.name} is not decorated with @EntityScaler`);
239
- }
240
- const resolvedInstance = instance || this.moduleRef.get(scalerClass, { strict: false });
241
- this.decoratorDiscovery.registerScaler(this.registry, scalerClass, resolvedInstance, options);
242
- }
243
- };
244
- exports.ProcessorDiscoveryService = ProcessorDiscoveryService;
245
- exports.ProcessorDiscoveryService = ProcessorDiscoveryService = ProcessorDiscoveryService_1 = __decorate([
246
- (0, common_1.Injectable)(),
247
- __param(0, (0, common_1.Optional)()),
248
- __param(6, (0, common_1.Optional)()),
249
- __param(7, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
250
- __metadata("design:paramtypes", [core_1.DiscoveryService,
251
- core_1.ModuleRef,
252
- processor_registry_1.ProcessorRegistry,
253
- decorator_discovery_service_1.DecoratorDiscoveryService,
254
- worker_factory_service_1.WorkerFactoryService,
255
- scaling_registration_service_1.ScalingRegistrationService,
256
- command_discovery_1.CommandDiscoveryService, Object])
257
- ], ProcessorDiscoveryService);
258
- //# sourceMappingURL=processor-discovery.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-discovery.service.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { WorkerProcessorOptions, EntityScalerOptions } from '../../decorators';
2
- /**
3
- * Registered processor info
4
- */
5
- export interface RegisteredProcessor {
6
- entityType: string;
7
- processorInstance: any;
8
- options: WorkerProcessorOptions;
9
- jobHandlers: Map<string, {
10
- method: string;
11
- isWildcard: boolean;
12
- }>;
13
- wildcardHandler?: {
14
- method: string;
15
- };
16
- queueNameFn: (entityId: string) => string;
17
- workerNameFn: (entityId: string) => string;
18
- }
19
- /**
20
- * Registered scaler info
21
- */
22
- export interface RegisteredScaler {
23
- entityType: string;
24
- scalerInstance: any;
25
- options: EntityScalerOptions;
26
- methods: {
27
- getActiveEntities?: string;
28
- getDesiredWorkerCount?: string;
29
- onSpawnWorker?: string;
30
- onTerminateWorker?: string;
31
- };
32
- }
33
- /**
34
- * ProcessorRegistry
35
- *
36
- * Holds the state (Maps) for processors, scalers, and active workers.
37
- * Provides CRUD operations for these registrations.
38
- */
39
- export declare class ProcessorRegistry {
40
- private readonly logger;
41
- private readonly processors;
42
- private readonly scalers;
43
- private readonly activeWorkers;
44
- addProcessor(entityType: string, processor: RegisteredProcessor): void;
45
- getProcessor(entityType: string): RegisteredProcessor | undefined;
46
- hasProcessor(entityType: string): boolean;
47
- getAllProcessors(): Map<string, RegisteredProcessor>;
48
- addScaler(entityType: string, scaler: RegisteredScaler): void;
49
- getScaler(entityType: string): RegisteredScaler | undefined;
50
- hasScaler(entityType: string): boolean;
51
- getAllScalers(): Map<string, RegisteredScaler>;
52
- addActiveWorker(entityType: string, entityId: string): void;
53
- removeActiveWorker(entityType: string, entityId: string): void;
54
- hasActiveWorker(entityType: string, entityId: string): boolean;
55
- getActiveWorkers(entityType: string): string[];
56
- getRegisteredEntityTypes(): string[];
57
- }
58
- //# sourceMappingURL=processor-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-registry.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE;QACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;;;GAKG;AACH,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IAIrE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAKtE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIjE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIzC,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAMpD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAI7D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAM9C,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3D,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9D,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAM9C,wBAAwB,IAAI,MAAM,EAAE;CAKrC"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var ProcessorRegistry_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ProcessorRegistry = void 0;
11
- const common_1 = require("@nestjs/common");
12
- /**
13
- * ProcessorRegistry
14
- *
15
- * Holds the state (Maps) for processors, scalers, and active workers.
16
- * Provides CRUD operations for these registrations.
17
- */
18
- let ProcessorRegistry = ProcessorRegistry_1 = class ProcessorRegistry {
19
- constructor() {
20
- this.logger = new common_1.Logger(ProcessorRegistry_1.name);
21
- this.processors = new Map();
22
- this.scalers = new Map();
23
- this.activeWorkers = new Map();
24
- }
25
- // ---- Processors ----
26
- addProcessor(entityType, processor) {
27
- this.processors.set(entityType, processor);
28
- this.activeWorkers.set(entityType, new Set());
29
- }
30
- getProcessor(entityType) {
31
- return this.processors.get(entityType);
32
- }
33
- hasProcessor(entityType) {
34
- return this.processors.has(entityType);
35
- }
36
- getAllProcessors() {
37
- return this.processors;
38
- }
39
- // ---- Scalers ----
40
- addScaler(entityType, scaler) {
41
- this.scalers.set(entityType, scaler);
42
- }
43
- getScaler(entityType) {
44
- return this.scalers.get(entityType);
45
- }
46
- hasScaler(entityType) {
47
- return this.scalers.has(entityType);
48
- }
49
- getAllScalers() {
50
- return this.scalers;
51
- }
52
- // ---- Active Workers ----
53
- addActiveWorker(entityType, entityId) {
54
- this.activeWorkers.get(entityType)?.add(entityId);
55
- }
56
- removeActiveWorker(entityType, entityId) {
57
- this.activeWorkers.get(entityType)?.delete(entityId);
58
- }
59
- hasActiveWorker(entityType, entityId) {
60
- return this.activeWorkers.get(entityType)?.has(entityId) ?? false;
61
- }
62
- getActiveWorkers(entityType) {
63
- return Array.from(this.activeWorkers.get(entityType) || []);
64
- }
65
- // ---- Aggregate ----
66
- getRegisteredEntityTypes() {
67
- return Array.from(new Set([...this.processors.keys(), ...this.scalers.keys()]));
68
- }
69
- };
70
- exports.ProcessorRegistry = ProcessorRegistry;
71
- exports.ProcessorRegistry = ProcessorRegistry = ProcessorRegistry_1 = __decorate([
72
- (0, common_1.Injectable)()
73
- ], ProcessorRegistry);
74
- //# sourceMappingURL=processor-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-registry.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-registry.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AA+BpD;;;;;GAKG;AAEI,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,eAAU,GAAqC,IAAI,GAAG,EAAE,CAAC;QACzD,YAAO,GAAkC,IAAI,GAAG,EAAE,CAAC;QACnD,kBAAa,GAA6B,IAAI,GAAG,EAAE,CAAC;IAgEvE,CAAC;IA9DC,uBAAuB;IAEvB,YAAY,CAAC,UAAkB,EAAE,SAA8B;QAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oBAAoB;IAEpB,SAAS,CAAC,UAAkB,EAAE,MAAwB;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,2BAA2B;IAE3B,eAAe,CAAC,UAAkB,EAAE,QAAgB;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,QAAgB;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACpE,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAsB;IAEtB,wBAAwB;QACtB,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;CACF,CAAA;AApEY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAoE7B"}
@@ -1,60 +0,0 @@
1
- import { IAtomicQueuesModuleConfig } from '../../domain';
2
- import { WorkerManagerService } from '../worker-manager';
3
- import { QueueManagerService } from '../queue-manager';
4
- import { CronManagerService } from '../cron-manager';
5
- import { ServiceQueueManager } from '../service-queue';
6
- import { QueueEventsManagerService } from '../queue-events-manager';
7
- import { SpawnQueueService } from '../spawn-queue';
8
- import { ProcessorRegistry } from './processor-registry';
9
- import { WorkerFactoryService } from './worker-factory.service';
10
- /**
11
- * ScalingRegistrationService
12
- *
13
- * Handles all scaling/spawn registration logic:
14
- * - Registering scalers with CronManager
15
- * - Registering scalerless processors for auto-spawn
16
- * - Registering with SpawnQueueService for distributed worker creation
17
- * - Setting up spawn worker handlers with ServiceQueueManager
18
- * - Setting up QueueEvents listening for job arrivals
19
- */
20
- export declare class ScalingRegistrationService {
21
- private readonly workerManager;
22
- private readonly queueManager;
23
- private readonly cronManager;
24
- private readonly serviceQueueManager;
25
- private readonly queueEventsManager;
26
- private readonly spawnQueueService;
27
- private readonly config;
28
- private readonly logger;
29
- constructor(workerManager: WorkerManagerService, queueManager: QueueManagerService, cronManager: CronManagerService, serviceQueueManager: ServiceQueueManager, queueEventsManager: QueueEventsManagerService, spawnQueueService: SpawnQueueService, config: IAtomicQueuesModuleConfig);
30
- /**
31
- * Register all scaling-related handlers.
32
- * Called by the orchestrator during module init.
33
- */
34
- registerAll(registry: ProcessorRegistry, workerFactory: WorkerFactoryService): Promise<void>;
35
- /**
36
- * Register scalers with CronManager for automatic scaling
37
- */
38
- private registerScalersWithCronManager;
39
- /**
40
- * Register processors that don't have an EntityScaler (scalerless mode).
41
- *
42
- * When SpawnQueueService is available, this registration is SKIPPED
43
- * because the spawn queue handles both on-demand worker creation
44
- * (distributed across pods) and idle cleanup (local sweep).
45
- */
46
- private registerScalerlessProcessors;
47
- /**
48
- * Register with SpawnQueueService for distributed worker creation.
49
- */
50
- private registerWithSpawnQueue;
51
- /**
52
- * Setup QueueEvents listening for job arrivals.
53
- */
54
- private setupQueueEventsListening;
55
- /**
56
- * Register spawn worker handler with ServiceQueueManager.
57
- */
58
- private registerSpawnWorkerHandler;
59
- }
60
- //# sourceMappingURL=scaling-registration.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaling-registration.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/scaling-registration.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;;;;;GASG;AACH,qBACa,0BAA0B;IAInC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IACjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGnD,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,EACrB,WAAW,EAAE,kBAAkB,EAC/B,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,yBAAyB,EAC7C,iBAAiB,EAAE,iBAAiB,EAEhD,MAAM,EAAE,yBAAyB;IAGpD;;;OAGG;IACG,WAAW,CACf,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;YACW,8BAA8B;IAwE5C;;;;;;OAMG;YACW,4BAA4B;IA2D1C;;OAEG;YACW,sBAAsB;IAiDpC;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;YACW,0BAA0B;CAiCzC"}