atomic-queues 1.6.2 → 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
@@ -0,0 +1,86 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var ActorSystem_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ActorSystem = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const uuid_1 = require("uuid");
19
+ const utils_1 = require("../../utils");
20
+ const log_1 = require("../log");
21
+ const executor_pool_1 = require("../executor-pool");
22
+ const result_collector_1 = require("../result-collector");
23
+ const registry_1 = require("../registry");
24
+ const constants_1 = require("../constants");
25
+ let ActorSystem = ActorSystem_1 = class ActorSystem {
26
+ constructor(config, logService, executorPool, resultCollector, registryService) {
27
+ this.config = config;
28
+ this.logService = logService;
29
+ this.executorPool = executorPool;
30
+ this.resultCollector = resultCollector;
31
+ this.registryService = registryService;
32
+ this.logger = new common_1.Logger(ActorSystem_1.name);
33
+ this.keyPrefix = (0, utils_1.resolveKeyPrefix)(config);
34
+ }
35
+ async send(entityType, entityId, message) {
36
+ const entityKey = `${entityType}:${entityId}`;
37
+ const serialized = this.serializeMessage(entityType, entityId, message);
38
+ if (this.registryService?.isEnabled()) {
39
+ await this.registryService.validate(entityType, message.constructor.name, serialized.data);
40
+ }
41
+ await this.logService.append(entityKey, serialized);
42
+ await this.executorPool.tickle();
43
+ return { id: serialized.id, entityKey };
44
+ }
45
+ async sendAndWait(entityType, entityId, message, timeout = 30000) {
46
+ const correlationId = (0, uuid_1.v4)();
47
+ const entityKey = `${entityType}:${entityId}`;
48
+ const serialized = this.serializeMessage(entityType, entityId, message, correlationId);
49
+ if (this.registryService?.isEnabled()) {
50
+ await this.registryService.validate(entityType, message.constructor.name, serialized.data);
51
+ }
52
+ const resultPromise = this.resultCollector.waitForResult(correlationId, timeout);
53
+ await this.logService.append(entityKey, serialized);
54
+ await this.executorPool.tickle();
55
+ return resultPromise;
56
+ }
57
+ serializeMessage(entityType, entityId, message, correlationId) {
58
+ const data = {};
59
+ for (const key of Object.keys(message)) {
60
+ data[key] = message[key];
61
+ }
62
+ const retryConfig = this.config.entities?.[entityType]?.retry ?? this.config.retry;
63
+ return {
64
+ id: (0, uuid_1.v4)(),
65
+ name: message.constructor.name,
66
+ data,
67
+ entityType,
68
+ entityId,
69
+ correlationId,
70
+ enqueuedAt: Date.now(),
71
+ attempts: 0,
72
+ maxAttempts: retryConfig?.maxAttempts ?? 3,
73
+ };
74
+ }
75
+ };
76
+ exports.ActorSystem = ActorSystem;
77
+ exports.ActorSystem = ActorSystem = ActorSystem_1 = __decorate([
78
+ (0, common_1.Injectable)(),
79
+ __param(0, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
80
+ __param(4, (0, common_1.Optional)()),
81
+ __metadata("design:paramtypes", [Object, log_1.LogService,
82
+ executor_pool_1.ExecutorPoolService,
83
+ result_collector_1.ResultCollector,
84
+ registry_1.RegistryService])
85
+ ], ActorSystem);
86
+ //# sourceMappingURL=actor-system.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-system.service.js","sourceRoot":"","sources":["../../../src/services/actor-system/actor-system.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './actor-system.service';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/actor-system/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -14,5 +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("./cron-manager.service"), exports);
17
+ __exportStar(require("./actor-system.service"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/actor-system/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
@@ -1,84 +1,37 @@
1
1
  import { OnModuleInit, Type } from '@nestjs/common';
2
2
  import { DiscoveryService, Reflector } from '@nestjs/core';
3
- import { Job } from 'bullmq';
4
3
  interface ICommandBus {
5
4
  execute<T>(command: T): Promise<any>;
6
5
  }
7
6
  interface IQueryBus {
8
7
  execute<T>(query: T): Promise<any>;
9
8
  }
10
- /**
11
- * CommandDiscoveryService
12
- *
13
- * Discovers all classes decorated with @JobCommand and @JobQuery,
14
- * builds a routing map, and provides auto-execution capabilities.
15
- *
16
- * This eliminates the need for @JobHandler boilerplate - commands
17
- * decorated with @JobCommand are automatically routed and executed.
18
- */
9
+ interface IJobLike {
10
+ name: string;
11
+ data: Record<string, any>;
12
+ id: string;
13
+ }
19
14
  export declare class CommandDiscoveryService implements OnModuleInit {
20
15
  private readonly discoveryService;
21
16
  private readonly reflector;
22
17
  private readonly logger;
23
- /** Map of job name -> command metadata */
24
18
  private readonly commandMap;
25
- /** Map of job name -> query metadata */
26
19
  private readonly queryMap;
27
- /** Map of entityType:jobName -> command metadata (for scoped routing) */
28
20
  private readonly scopedCommandMap;
29
- /** Map of entityType:jobName -> query metadata (for scoped routing) */
30
21
  private readonly scopedQueryMap;
31
22
  private commandBus;
32
23
  private queryBus;
33
24
  constructor(discoveryService: DiscoveryService, reflector: Reflector);
34
- /**
35
- * Set the CommandBus for executing commands
36
- * Called by the module setup if @nestjs/cqrs is available
37
- */
38
25
  setCommandBus(commandBus: ICommandBus): void;
39
- /**
40
- * Set the QueryBus for executing queries
41
- * Called by the module setup if @nestjs/cqrs is available
42
- */
43
26
  setQueryBus(queryBus: IQueryBus): void;
44
27
  onModuleInit(): Promise<void>;
45
- /**
46
- * Discover all @JobCommand decorated classes
47
- */
48
28
  private discoverCommands;
49
- /**
50
- * Discover all @JobQuery decorated classes
51
- */
52
29
  private discoverQueries;
53
- /**
54
- * Check if a job name has a registered command or query
55
- */
56
30
  hasHandler(jobName: string, entityType?: string): boolean;
57
- /**
58
- * Get command class for a job name
59
- */
60
31
  getCommandClass(jobName: string, entityType?: string): Type<any> | undefined;
61
- /**
62
- * Get query class for a job name
63
- */
64
32
  getQueryClass(jobName: string, entityType?: string): Type<any> | undefined;
65
- /**
66
- * Execute a job by routing to the appropriate command or query
67
- *
68
- * @param job The BullMQ job
69
- * @param entityId The entity ID (injected by the worker processor)
70
- * @param entityType Optional entity type for scoped routing
71
- * @returns The result of the command/query execution
72
- * @throws Error if no handler is found
73
- */
74
- executeJob(job: Job, entityId: string, entityType?: string): Promise<any>;
75
- /**
76
- * Instantiate a command/query class from job data
77
- */
33
+ executeJob(job: IJobLike, entityId: string, entityType?: string): Promise<any>;
78
34
  private instantiateFromMetadata;
79
- /**
80
- * Get all registered job names (for debugging/documentation)
81
- */
82
35
  getRegisteredJobNames(): {
83
36
  commands: string[];
84
37
  queries: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"command-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,IAAI,EAAY,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAS7B,UAAU,WAAW;IACnB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,qBACa,uBAAwB,YAAW,YAAY;IAmB5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAnBxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAEhE,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAE1E,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IAEtE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAA0B;gBAGX,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAGnD;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAI5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAIhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAUzD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IAS5E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IAS1E;;;;;;;;OAQG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmD/E;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,qBAAqB,IAAI;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAMnE"}
1
+ {"version":3,"file":"command-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,IAAI,EAAY,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQ3D,UAAU,WAAW;IACnB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBACa,uBAAwB,YAAW,YAAY;IAY5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAZxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IAEtE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAA0B;gBAGX,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAGnD,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAI5C,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAIhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBnC,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,eAAe;IA4BvB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAUzD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IAS5E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IASpE,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgDpF,OAAO,CAAC,uBAAuB;IA0B/B,qBAAqB,IAAI;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAMnE"}
@@ -17,42 +17,21 @@ exports.CommandDiscoveryService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const core_1 = require("@nestjs/core");
19
19
  const decorators_1 = require("../../decorators");
20
- /**
21
- * CommandDiscoveryService
22
- *
23
- * Discovers all classes decorated with @JobCommand and @JobQuery,
24
- * builds a routing map, and provides auto-execution capabilities.
25
- *
26
- * This eliminates the need for @JobHandler boilerplate - commands
27
- * decorated with @JobCommand are automatically routed and executed.
28
- */
29
20
  let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscoveryService {
30
21
  constructor(discoveryService, reflector) {
31
22
  this.discoveryService = discoveryService;
32
23
  this.reflector = reflector;
33
24
  this.logger = new common_1.Logger(CommandDiscoveryService_1.name);
34
- /** Map of job name -> command metadata */
35
25
  this.commandMap = new Map();
36
- /** Map of job name -> query metadata */
37
26
  this.queryMap = new Map();
38
- /** Map of entityType:jobName -> command metadata (for scoped routing) */
39
27
  this.scopedCommandMap = new Map();
40
- /** Map of entityType:jobName -> query metadata (for scoped routing) */
41
28
  this.scopedQueryMap = new Map();
42
29
  this.commandBus = null;
43
30
  this.queryBus = null;
44
31
  }
45
- /**
46
- * Set the CommandBus for executing commands
47
- * Called by the module setup if @nestjs/cqrs is available
48
- */
49
32
  setCommandBus(commandBus) {
50
33
  this.commandBus = commandBus;
51
34
  }
52
- /**
53
- * Set the QueryBus for executing queries
54
- * Called by the module setup if @nestjs/cqrs is available
55
- */
56
35
  setQueryBus(queryBus) {
57
36
  this.queryBus = queryBus;
58
37
  }
@@ -63,14 +42,10 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
63
42
  }
64
43
  this.discoverCommands();
65
44
  this.discoverQueries();
66
- // Only log if any @JobCommand or @JobQuery classes were found
67
45
  if (this.commandMap.size > 0 || this.queryMap.size > 0) {
68
46
  this.logger.log(`Discovered ${this.commandMap.size} @JobCommand and ${this.queryMap.size} @JobQuery classes`);
69
47
  }
70
48
  }
71
- /**
72
- * Discover all @JobCommand decorated classes
73
- */
74
49
  discoverCommands() {
75
50
  if (!this.discoveryService)
76
51
  return;
@@ -90,9 +65,6 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
90
65
  }
91
66
  }
92
67
  }
93
- /**
94
- * Discover all @JobQuery decorated classes
95
- */
96
68
  discoverQueries() {
97
69
  if (!this.discoveryService)
98
70
  return;
@@ -112,9 +84,6 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
112
84
  }
113
85
  }
114
86
  }
115
- /**
116
- * Check if a job name has a registered command or query
117
- */
118
87
  hasHandler(jobName, entityType) {
119
88
  if (entityType) {
120
89
  const scopedKey = `${entityType}:${jobName}`;
@@ -124,9 +93,6 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
124
93
  }
125
94
  return this.commandMap.has(jobName) || this.queryMap.has(jobName);
126
95
  }
127
- /**
128
- * Get command class for a job name
129
- */
130
96
  getCommandClass(jobName, entityType) {
131
97
  if (entityType) {
132
98
  const scopedKey = `${entityType}:${jobName}`;
@@ -136,9 +102,6 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
136
102
  }
137
103
  return this.commandMap.get(jobName)?.targetClass;
138
104
  }
139
- /**
140
- * Get query class for a job name
141
- */
142
105
  getQueryClass(jobName, entityType) {
143
106
  if (entityType) {
144
107
  const scopedKey = `${entityType}:${jobName}`;
@@ -148,18 +111,8 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
148
111
  }
149
112
  return this.queryMap.get(jobName)?.targetClass;
150
113
  }
151
- /**
152
- * Execute a job by routing to the appropriate command or query
153
- *
154
- * @param job The BullMQ job
155
- * @param entityId The entity ID (injected by the worker processor)
156
- * @param entityType Optional entity type for scoped routing
157
- * @returns The result of the command/query execution
158
- * @throws Error if no handler is found
159
- */
160
114
  async executeJob(job, entityId, entityType) {
161
115
  const jobName = job.name;
162
- // Try command first (check scoped, then global)
163
116
  let commandMeta;
164
117
  if (entityType) {
165
118
  commandMeta = this.scopedCommandMap.get(`${entityType}:${jobName}`);
@@ -175,7 +128,6 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
175
128
  this.logger.debug(`Executing command ${commandMeta.targetClass.name} for job ${jobName}`);
176
129
  return this.commandBus.execute(command);
177
130
  }
178
- // Try query (check scoped, then global)
179
131
  let queryMeta;
180
132
  if (entityType) {
181
133
  queryMeta = this.scopedQueryMap.get(`${entityType}:${jobName}`);
@@ -191,35 +143,24 @@ let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscovery
191
143
  this.logger.debug(`Executing query ${queryMeta.targetClass.name} for job ${jobName}`);
192
144
  return this.queryBus.execute(query);
193
145
  }
194
- // No handler found
195
146
  return undefined;
196
147
  }
197
- /**
198
- * Instantiate a command/query class from job data
199
- */
200
148
  instantiateFromMetadata(metadata, entityId, jobData) {
201
149
  const { targetClass, paramNames, entityIdParam } = metadata;
202
- // Build constructor arguments
203
150
  const args = [];
204
151
  for (let i = 0; i < paramNames.length; i++) {
205
152
  const paramName = paramNames[i];
206
- // Check if this param is the entityId
207
153
  const isEntityIdParam = (typeof entityIdParam === 'number' && i === entityIdParam) ||
208
154
  (typeof entityIdParam === 'string' && paramName === entityIdParam);
209
155
  if (isEntityIdParam) {
210
156
  args.push(entityId);
211
157
  }
212
158
  else {
213
- // Get from job data using param name
214
159
  args.push(jobData[paramName]);
215
160
  }
216
161
  }
217
- // Instantiate the class
218
162
  return new targetClass(...args);
219
163
  }
220
- /**
221
- * Get all registered job names (for debugging/documentation)
222
- */
223
164
  getRegisteredJobNames() {
224
165
  return {
225
166
  commands: Array.from(this.commandMap.keys()),
@@ -1 +1 @@
1
- {"version":3,"file":"command-discovery.service.js","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-discovery.service.js","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- /**
2
- * Injection tokens for AtomicQueues module
3
- */
4
- /** Redis client injection token */
5
- export declare const ATOMIC_QUEUES_REDIS: unique symbol;
6
- /** Module configuration injection token */
7
- export declare const ATOMIC_QUEUES_CONFIG: unique symbol;
8
- /** Async module options injection token */
9
- export declare const ATOMIC_QUEUES_MODULE_OPTIONS: unique symbol;
1
+ export declare const ATOMIC_QUEUES_REDIS = "ATOMIC_QUEUES_REDIS";
2
+ export declare const ATOMIC_QUEUES_CONFIG = "ATOMIC_QUEUES_CONFIG";
10
3
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/services/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mCAAmC;AACnC,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B,eAAyC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/services/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC"}
@@ -1,13 +1,6 @@
1
1
  "use strict";
2
- /**
3
- * Injection tokens for AtomicQueues module
4
- */
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ATOMIC_QUEUES_MODULE_OPTIONS = exports.ATOMIC_QUEUES_CONFIG = exports.ATOMIC_QUEUES_REDIS = void 0;
7
- /** Redis client injection token */
8
- exports.ATOMIC_QUEUES_REDIS = Symbol('ATOMIC_QUEUES_REDIS');
9
- /** Module configuration injection token */
10
- exports.ATOMIC_QUEUES_CONFIG = Symbol('ATOMIC_QUEUES_CONFIG');
11
- /** Async module options injection token */
12
- exports.ATOMIC_QUEUES_MODULE_OPTIONS = Symbol('ATOMIC_QUEUES_MODULE_OPTIONS');
3
+ exports.ATOMIC_QUEUES_CONFIG = exports.ATOMIC_QUEUES_REDIS = void 0;
4
+ exports.ATOMIC_QUEUES_REDIS = 'ATOMIC_QUEUES_REDIS';
5
+ exports.ATOMIC_QUEUES_CONFIG = 'ATOMIC_QUEUES_CONFIG';
13
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/services/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAAmC;AACtB,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjE,2CAA2C;AAC9B,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,2CAA2C;AAC9B,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/services/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
2
+ import Redis from 'ioredis';
3
+ import { IAtomicQueuesModuleConfig } from '../../domain';
4
+ import { SchedulerService } from '../scheduler';
5
+ import { GateService } from '../gate';
6
+ import { LogService } from '../log';
7
+ import { HandlerExecutor } from '../handler-executor';
8
+ import { ActorRegistry } from '../actor-registry';
9
+ export declare class ExecutorPoolService implements OnModuleInit, OnApplicationShutdown {
10
+ private readonly redis;
11
+ private readonly config;
12
+ private readonly scheduler;
13
+ private readonly gateService;
14
+ private readonly logService;
15
+ private readonly handlerExecutor;
16
+ private readonly actorRegistry;
17
+ private readonly logger;
18
+ private readonly keyPrefix;
19
+ private readonly poolSize;
20
+ private activeExecutors;
21
+ private running;
22
+ private subscriberClient;
23
+ constructor(redis: Redis, config: IAtomicQueuesModuleConfig, scheduler: SchedulerService, gateService: GateService, logService: LogService, handlerExecutor: HandlerExecutor, actorRegistry: ActorRegistry);
24
+ onModuleInit(): Promise<void>;
25
+ onApplicationShutdown(): Promise<void>;
26
+ tickle(): Promise<void>;
27
+ private tryDispatch;
28
+ private executeMessage;
29
+ private publishResult;
30
+ }
31
+ //# sourceMappingURL=executor-pool.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor-pool.service.d.ts","sourceRoot":"","sources":["../../../src/services/executor-pool/executor-pool.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,qBACa,mBAAoB,YAAW,YAAY,EAAE,qBAAqB;IAS9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAdhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAsB;gBAGE,KAAK,EAAE,KAAK,EACX,MAAM,EAAE,yBAAyB,EAC/D,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa;IAMzC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAKf,WAAW;YAgBX,cAAc;YAyCd,aAAa;CAQ5B"}
@@ -0,0 +1,147 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ var ExecutorPoolService_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ExecutorPoolService = void 0;
20
+ const common_1 = require("@nestjs/common");
21
+ const ioredis_1 = __importDefault(require("ioredis"));
22
+ const utils_1 = require("../../utils");
23
+ const scheduler_1 = require("../scheduler");
24
+ const gate_1 = require("../gate");
25
+ const log_1 = require("../log");
26
+ const handler_executor_1 = require("../handler-executor");
27
+ const actor_registry_1 = require("../actor-registry");
28
+ const constants_1 = require("../constants");
29
+ let ExecutorPoolService = ExecutorPoolService_1 = class ExecutorPoolService {
30
+ constructor(redis, config, scheduler, gateService, logService, handlerExecutor, actorRegistry) {
31
+ this.redis = redis;
32
+ this.config = config;
33
+ this.scheduler = scheduler;
34
+ this.gateService = gateService;
35
+ this.logService = logService;
36
+ this.handlerExecutor = handlerExecutor;
37
+ this.actorRegistry = actorRegistry;
38
+ this.logger = new common_1.Logger(ExecutorPoolService_1.name);
39
+ this.activeExecutors = 0;
40
+ this.running = false;
41
+ this.subscriberClient = null;
42
+ this.keyPrefix = (0, utils_1.resolveKeyPrefix)(config);
43
+ this.poolSize = config.executor?.poolSize ?? 1;
44
+ }
45
+ async onModuleInit() {
46
+ this.running = true;
47
+ this.subscriberClient = this.redis.duplicate();
48
+ const tickleChannel = `${this.keyPrefix}:tickle`;
49
+ await this.subscriberClient.subscribe(tickleChannel);
50
+ this.subscriberClient.on('message', (_channel, _msg) => {
51
+ this.tryDispatch();
52
+ });
53
+ this.logger.log(`Executor pool started with poolSize=${this.poolSize}`);
54
+ this.tryDispatch();
55
+ }
56
+ async onApplicationShutdown() {
57
+ this.running = false;
58
+ if (this.subscriberClient) {
59
+ await this.subscriberClient.unsubscribe();
60
+ await this.subscriberClient.quit();
61
+ }
62
+ const maxWait = 30000;
63
+ const start = Date.now();
64
+ while (this.activeExecutors > 0 && Date.now() - start < maxWait) {
65
+ await new Promise(resolve => setTimeout(resolve, 100));
66
+ }
67
+ if (this.activeExecutors > 0) {
68
+ this.logger.warn(`Shutdown with ${this.activeExecutors} active executors still running`);
69
+ }
70
+ }
71
+ async tickle() {
72
+ const tickleChannel = `${this.keyPrefix}:tickle`;
73
+ await this.redis.publish(tickleChannel, '1');
74
+ }
75
+ async tryDispatch() {
76
+ while (this.running && this.activeExecutors < this.poolSize) {
77
+ const result = await this.scheduler.pickNext();
78
+ if (!result)
79
+ break;
80
+ this.activeExecutors++;
81
+ this.executeMessage(result.entityKey, result.message, result.ownerToken)
82
+ .finally(() => {
83
+ this.activeExecutors--;
84
+ if (this.running) {
85
+ this.tryDispatch();
86
+ }
87
+ });
88
+ }
89
+ }
90
+ async executeMessage(entityKey, message, ownerToken) {
91
+ const entityType = message.entityType;
92
+ const entityId = message.entityId;
93
+ const ttl = this.gateService.getTTLForEntity(entityType);
94
+ const refreshInterval = this.config.executor?.gateRefreshInterval ?? (ttl * 500);
95
+ const refresher = setInterval(async () => {
96
+ try {
97
+ await this.gateService.extend(entityKey, ttl);
98
+ }
99
+ catch (err) {
100
+ this.logger.error(`Gate refresh failed for ${entityKey}: ${err.message}`);
101
+ }
102
+ }, refreshInterval);
103
+ try {
104
+ if (this.actorRegistry.hasActor(entityType)) {
105
+ const actor = await this.actorRegistry.getOrCreateInstance(entityType, entityId);
106
+ const methodName = this.actorRegistry.getHandlerMethod(entityType, message.name);
107
+ if (actor && methodName) {
108
+ const result = await actor[methodName]({ ...message.data });
109
+ await this.publishResult(message, result);
110
+ await this.scheduler.complete(entityKey);
111
+ return;
112
+ }
113
+ }
114
+ const result = await this.handlerExecutor.execute(message, entityKey);
115
+ await this.publishResult(message, result);
116
+ await this.scheduler.complete(entityKey);
117
+ }
118
+ catch (err) {
119
+ await this.scheduler.fail(entityKey, message, err);
120
+ await this.publishResult(message, undefined, err);
121
+ }
122
+ finally {
123
+ clearInterval(refresher);
124
+ }
125
+ }
126
+ async publishResult(message, result, error) {
127
+ if (!message.correlationId)
128
+ return;
129
+ const channel = `${this.keyPrefix}:results:${message.correlationId}`;
130
+ const payload = error
131
+ ? JSON.stringify({ error: error.message })
132
+ : JSON.stringify({ result });
133
+ await this.redis.publish(channel, payload);
134
+ }
135
+ };
136
+ exports.ExecutorPoolService = ExecutorPoolService;
137
+ exports.ExecutorPoolService = ExecutorPoolService = ExecutorPoolService_1 = __decorate([
138
+ (0, common_1.Injectable)(),
139
+ __param(0, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_REDIS)),
140
+ __param(1, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
141
+ __metadata("design:paramtypes", [ioredis_1.default, Object, scheduler_1.SchedulerService,
142
+ gate_1.GateService,
143
+ log_1.LogService,
144
+ handler_executor_1.HandlerExecutor,
145
+ actor_registry_1.ActorRegistry])
146
+ ], ExecutorPoolService);
147
+ //# sourceMappingURL=executor-pool.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor-pool.service.js","sourceRoot":"","sources":["../../../src/services/executor-pool/executor-pool.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './executor-pool.service';
2
+ //# sourceMappingURL=index.d.ts.map