atomic-queues 1.6.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +273 -413
  2. package/dist/cli/generators/json-schema.d.ts +3 -0
  3. package/dist/cli/generators/json-schema.d.ts.map +1 -0
  4. package/dist/cli/generators/json-schema.js +31 -0
  5. package/dist/cli/generators/json-schema.js.map +1 -0
  6. package/dist/cli/generators/typescript.d.ts +3 -0
  7. package/dist/cli/generators/typescript.d.ts.map +1 -0
  8. package/dist/cli/generators/typescript.js +62 -0
  9. package/dist/cli/generators/typescript.js.map +1 -0
  10. package/dist/cli/index.d.ts +3 -0
  11. package/dist/cli/index.d.ts.map +1 -0
  12. package/dist/cli/index.js +156 -0
  13. package/dist/cli/index.js.map +1 -0
  14. package/dist/decorators/actor.decorators.d.ts +4 -0
  15. package/dist/decorators/actor.decorators.d.ts.map +1 -0
  16. package/dist/decorators/actor.decorators.js +32 -0
  17. package/dist/decorators/actor.decorators.js.map +1 -0
  18. package/dist/decorators/constants.d.ts +5 -12
  19. package/dist/decorators/constants.d.ts.map +1 -1
  20. package/dist/decorators/constants.js +10 -16
  21. package/dist/decorators/constants.js.map +1 -1
  22. package/dist/decorators/index.d.ts +4 -4
  23. package/dist/decorators/index.d.ts.map +1 -1
  24. package/dist/decorators/index.js +4 -4
  25. package/dist/decorators/index.js.map +1 -1
  26. package/dist/decorators/interfaces.d.ts +18 -78
  27. package/dist/decorators/interfaces.d.ts.map +1 -1
  28. package/dist/decorators/metadata-readers.d.ts +5 -26
  29. package/dist/decorators/metadata-readers.d.ts.map +1 -1
  30. package/dist/decorators/metadata-readers.js +16 -33
  31. package/dist/decorators/metadata-readers.js.map +1 -1
  32. package/dist/decorators/schema.decorators.d.ts +2 -0
  33. package/dist/decorators/schema.decorators.d.ts.map +1 -0
  34. package/dist/decorators/schema.decorators.js +13 -0
  35. package/dist/decorators/schema.decorators.js.map +1 -0
  36. package/dist/domain/interfaces/config.interfaces.d.ts +52 -153
  37. package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -1
  38. package/dist/domain/interfaces/index.d.ts +0 -7
  39. package/dist/domain/interfaces/index.d.ts.map +1 -1
  40. package/dist/domain/interfaces/index.js +0 -7
  41. package/dist/domain/interfaces/index.js.map +1 -1
  42. package/dist/domain/interfaces/job.interfaces.d.ts +32 -65
  43. package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -1
  44. package/dist/index.d.ts +0 -34
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +0 -39
  47. package/dist/index.js.map +1 -1
  48. package/dist/module/atomic-queues.module.d.ts +0 -83
  49. package/dist/module/atomic-queues.module.d.ts.map +1 -1
  50. package/dist/module/atomic-queues.module.js +35 -134
  51. package/dist/module/atomic-queues.module.js.map +1 -1
  52. package/dist/services/actor-registry/actor-registry.service.d.ts +30 -0
  53. package/dist/services/actor-registry/actor-registry.service.d.ts.map +1 -0
  54. package/dist/services/actor-registry/actor-registry.service.js +186 -0
  55. package/dist/services/actor-registry/actor-registry.service.js.map +1 -0
  56. package/dist/services/actor-registry/index.d.ts +2 -0
  57. package/dist/services/actor-registry/index.d.ts.map +1 -0
  58. package/dist/services/actor-registry/index.js +18 -0
  59. package/dist/services/actor-registry/index.js.map +1 -0
  60. package/dist/services/actor-system/actor-system.service.d.ts +19 -0
  61. package/dist/services/actor-system/actor-system.service.d.ts.map +1 -0
  62. package/dist/services/actor-system/actor-system.service.js +86 -0
  63. package/dist/services/actor-system/actor-system.service.js.map +1 -0
  64. package/dist/services/actor-system/index.d.ts +2 -0
  65. package/dist/services/actor-system/index.d.ts.map +1 -0
  66. package/dist/services/{cron-manager → actor-system}/index.js +1 -1
  67. package/dist/services/actor-system/index.js.map +1 -0
  68. package/dist/services/command-discovery/command-discovery.service.d.ts +6 -53
  69. package/dist/services/command-discovery/command-discovery.service.d.ts.map +1 -1
  70. package/dist/services/command-discovery/command-discovery.service.js +0 -59
  71. package/dist/services/command-discovery/command-discovery.service.js.map +1 -1
  72. package/dist/services/constants.d.ts +2 -9
  73. package/dist/services/constants.d.ts.map +1 -1
  74. package/dist/services/constants.js +3 -10
  75. package/dist/services/constants.js.map +1 -1
  76. package/dist/services/executor-pool/executor-pool.service.d.ts +31 -0
  77. package/dist/services/executor-pool/executor-pool.service.d.ts.map +1 -0
  78. package/dist/services/executor-pool/executor-pool.service.js +147 -0
  79. package/dist/services/executor-pool/executor-pool.service.js.map +1 -0
  80. package/dist/services/executor-pool/index.d.ts +2 -0
  81. package/dist/services/executor-pool/index.d.ts.map +1 -0
  82. package/dist/services/{queue-manager → executor-pool}/index.js +1 -1
  83. package/dist/services/executor-pool/index.js.map +1 -0
  84. package/dist/services/gate/gate.service.d.ts +17 -0
  85. package/dist/services/gate/gate.service.d.ts.map +1 -0
  86. package/dist/services/gate/gate.service.js +66 -0
  87. package/dist/services/gate/gate.service.js.map +1 -0
  88. package/dist/services/gate/index.d.ts +2 -0
  89. package/dist/services/gate/index.d.ts.map +1 -0
  90. package/dist/services/{spawn-queue → gate}/index.js +1 -1
  91. package/dist/services/gate/index.js.map +1 -0
  92. package/dist/services/handler-executor/handler-executor.service.d.ts +32 -0
  93. package/dist/services/handler-executor/handler-executor.service.d.ts.map +1 -0
  94. package/dist/services/handler-executor/handler-executor.service.js +186 -0
  95. package/dist/services/handler-executor/handler-executor.service.js.map +1 -0
  96. package/dist/services/handler-executor/index.d.ts +2 -0
  97. package/dist/services/handler-executor/index.d.ts.map +1 -0
  98. package/dist/services/handler-executor/index.js +18 -0
  99. package/dist/services/handler-executor/index.js.map +1 -0
  100. package/dist/services/index.d.ts +11 -12
  101. package/dist/services/index.d.ts.map +1 -1
  102. package/dist/services/index.js +11 -12
  103. package/dist/services/index.js.map +1 -1
  104. package/dist/services/log/index.d.ts +2 -0
  105. package/dist/services/log/index.d.ts.map +1 -0
  106. package/dist/services/{index-manager → log}/index.js +1 -1
  107. package/dist/services/log/index.js.map +1 -0
  108. package/dist/services/log/log.service.d.ts +21 -0
  109. package/dist/services/log/log.service.d.ts.map +1 -0
  110. package/dist/services/log/log.service.js +92 -0
  111. package/dist/services/log/log.service.js.map +1 -0
  112. package/dist/services/queue-bus/index.d.ts +0 -4
  113. package/dist/services/queue-bus/index.d.ts.map +1 -1
  114. package/dist/services/queue-bus/index.js +0 -4
  115. package/dist/services/queue-bus/index.js.map +1 -1
  116. package/dist/services/queue-bus/queue-bus.service.d.ts +44 -198
  117. package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
  118. package/dist/services/queue-bus/queue-bus.service.js +103 -259
  119. package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
  120. package/dist/services/queue-bus/queue-bus.utils.d.ts +0 -28
  121. package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -1
  122. package/dist/services/queue-bus/queue-bus.utils.js +1 -41
  123. package/dist/services/queue-bus/queue-bus.utils.js.map +1 -1
  124. package/dist/services/registry/index.d.ts +4 -0
  125. package/dist/services/registry/index.d.ts.map +1 -0
  126. package/dist/services/{queue-events-manager → registry}/index.js +3 -1
  127. package/dist/services/registry/index.js.map +1 -0
  128. package/dist/services/registry/registry.service.d.ts +43 -0
  129. package/dist/services/registry/registry.service.d.ts.map +1 -0
  130. package/dist/services/registry/registry.service.js +379 -0
  131. package/dist/services/registry/registry.service.js.map +1 -0
  132. package/dist/services/registry/registry.types.d.ts +24 -0
  133. package/dist/services/registry/registry.types.d.ts.map +1 -0
  134. package/dist/{domain/interfaces/lock.interfaces.js → services/registry/registry.types.js} +1 -1
  135. package/dist/services/registry/registry.types.js.map +1 -0
  136. package/dist/services/registry/schema-converter.d.ts +2 -0
  137. package/dist/services/registry/schema-converter.d.ts.map +1 -0
  138. package/dist/services/registry/schema-converter.js +27 -0
  139. package/dist/services/registry/schema-converter.js.map +1 -0
  140. package/dist/services/result-collector/index.d.ts +2 -0
  141. package/dist/services/result-collector/index.d.ts.map +1 -0
  142. package/dist/services/result-collector/index.js +18 -0
  143. package/dist/services/result-collector/index.js.map +1 -0
  144. package/dist/services/result-collector/result-collector.service.d.ts +17 -0
  145. package/dist/services/result-collector/result-collector.service.d.ts.map +1 -0
  146. package/dist/services/result-collector/result-collector.service.js +92 -0
  147. package/dist/services/result-collector/result-collector.service.js.map +1 -0
  148. package/dist/services/scheduler/index.d.ts +2 -0
  149. package/dist/services/scheduler/index.d.ts.map +1 -0
  150. package/dist/services/{job-processor → scheduler}/index.js +1 -1
  151. package/dist/services/scheduler/index.js.map +1 -0
  152. package/dist/services/scheduler/scheduler.service.d.ts +17 -0
  153. package/dist/services/scheduler/scheduler.service.d.ts.map +1 -0
  154. package/dist/services/scheduler/scheduler.service.js +116 -0
  155. package/dist/services/scheduler/scheduler.service.js.map +1 -0
  156. package/dist/services/shutdown/index.d.ts +2 -0
  157. package/dist/services/shutdown/index.d.ts.map +1 -0
  158. package/dist/services/shutdown/index.js +18 -0
  159. package/dist/services/shutdown/index.js.map +1 -0
  160. package/dist/services/shutdown/shutdown.service.d.ts +8 -0
  161. package/dist/services/shutdown/shutdown.service.d.ts.map +1 -0
  162. package/dist/services/shutdown/shutdown.service.js +29 -0
  163. package/dist/services/shutdown/shutdown.service.js.map +1 -0
  164. package/dist/utils/index.d.ts +3 -1
  165. package/dist/utils/index.d.ts.map +1 -1
  166. package/dist/utils/index.js +3 -1
  167. package/dist/utils/index.js.map +1 -1
  168. package/dist/utils/naming.utils.d.ts +0 -16
  169. package/dist/utils/naming.utils.d.ts.map +1 -1
  170. package/dist/utils/naming.utils.js +0 -29
  171. package/dist/utils/naming.utils.js.map +1 -1
  172. package/package.json +19 -11
  173. package/dist/decorators/legacy.decorators.d.ts +0 -36
  174. package/dist/decorators/legacy.decorators.d.ts.map +0 -1
  175. package/dist/decorators/legacy.decorators.js +0 -61
  176. package/dist/decorators/legacy.decorators.js.map +0 -1
  177. package/dist/decorators/scaler.decorators.d.ts +0 -65
  178. package/dist/decorators/scaler.decorators.d.ts.map +0 -1
  179. package/dist/decorators/scaler.decorators.js +0 -103
  180. package/dist/decorators/scaler.decorators.js.map +0 -1
  181. package/dist/decorators/type-guards.d.ts +0 -18
  182. package/dist/decorators/type-guards.d.ts.map +0 -1
  183. package/dist/decorators/type-guards.js +0 -32
  184. package/dist/decorators/type-guards.js.map +0 -1
  185. package/dist/decorators/worker.decorators.d.ts +0 -58
  186. package/dist/decorators/worker.decorators.d.ts.map +0 -1
  187. package/dist/decorators/worker.decorators.js +0 -92
  188. package/dist/decorators/worker.decorators.js.map +0 -1
  189. package/dist/domain/interfaces/event.interfaces.d.ts +0 -71
  190. package/dist/domain/interfaces/event.interfaces.d.ts.map +0 -1
  191. package/dist/domain/interfaces/event.interfaces.js +0 -3
  192. package/dist/domain/interfaces/event.interfaces.js.map +0 -1
  193. package/dist/domain/interfaces/index-tracking.interfaces.d.ts +0 -69
  194. package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +0 -1
  195. package/dist/domain/interfaces/index-tracking.interfaces.js +0 -3
  196. package/dist/domain/interfaces/index-tracking.interfaces.js.map +0 -1
  197. package/dist/domain/interfaces/lock.interfaces.d.ts +0 -54
  198. package/dist/domain/interfaces/lock.interfaces.d.ts.map +0 -1
  199. package/dist/domain/interfaces/lock.interfaces.js.map +0 -1
  200. package/dist/domain/interfaces/process.interfaces.d.ts +0 -44
  201. package/dist/domain/interfaces/process.interfaces.d.ts.map +0 -1
  202. package/dist/domain/interfaces/process.interfaces.js +0 -3
  203. package/dist/domain/interfaces/process.interfaces.js.map +0 -1
  204. package/dist/domain/interfaces/queue.interfaces.d.ts +0 -46
  205. package/dist/domain/interfaces/queue.interfaces.d.ts.map +0 -1
  206. package/dist/domain/interfaces/queue.interfaces.js +0 -3
  207. package/dist/domain/interfaces/queue.interfaces.js.map +0 -1
  208. package/dist/domain/interfaces/scaling.interfaces.d.ts +0 -62
  209. package/dist/domain/interfaces/scaling.interfaces.d.ts.map +0 -1
  210. package/dist/domain/interfaces/scaling.interfaces.js +0 -3
  211. package/dist/domain/interfaces/scaling.interfaces.js.map +0 -1
  212. package/dist/domain/interfaces/worker.interfaces.d.ts +0 -120
  213. package/dist/domain/interfaces/worker.interfaces.d.ts.map +0 -1
  214. package/dist/domain/interfaces/worker.interfaces.js +0 -3
  215. package/dist/domain/interfaces/worker.interfaces.js.map +0 -1
  216. package/dist/services/cron-manager/cron-manager.service.d.ts +0 -199
  217. package/dist/services/cron-manager/cron-manager.service.d.ts.map +0 -1
  218. package/dist/services/cron-manager/cron-manager.service.js +0 -583
  219. package/dist/services/cron-manager/cron-manager.service.js.map +0 -1
  220. package/dist/services/cron-manager/index.d.ts +0 -2
  221. package/dist/services/cron-manager/index.d.ts.map +0 -1
  222. package/dist/services/cron-manager/index.js.map +0 -1
  223. package/dist/services/index-manager/index-manager.service.d.ts +0 -142
  224. package/dist/services/index-manager/index-manager.service.d.ts.map +0 -1
  225. package/dist/services/index-manager/index-manager.service.js +0 -325
  226. package/dist/services/index-manager/index-manager.service.js.map +0 -1
  227. package/dist/services/index-manager/index.d.ts +0 -2
  228. package/dist/services/index-manager/index.d.ts.map +0 -1
  229. package/dist/services/index-manager/index.js.map +0 -1
  230. package/dist/services/job-processor/index.d.ts +0 -2
  231. package/dist/services/job-processor/index.d.ts.map +0 -1
  232. package/dist/services/job-processor/index.js.map +0 -1
  233. package/dist/services/job-processor/job-processor.service.d.ts +0 -156
  234. package/dist/services/job-processor/job-processor.service.d.ts.map +0 -1
  235. package/dist/services/job-processor/job-processor.service.js +0 -331
  236. package/dist/services/job-processor/job-processor.service.js.map +0 -1
  237. package/dist/services/processor-discovery/decorator-discovery.service.d.ts +0 -40
  238. package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +0 -1
  239. package/dist/services/processor-discovery/decorator-discovery.service.js +0 -191
  240. package/dist/services/processor-discovery/decorator-discovery.service.js.map +0 -1
  241. package/dist/services/processor-discovery/index.d.ts +0 -6
  242. package/dist/services/processor-discovery/index.d.ts.map +0 -1
  243. package/dist/services/processor-discovery/index.js +0 -22
  244. package/dist/services/processor-discovery/index.js.map +0 -1
  245. package/dist/services/processor-discovery/processor-discovery.service.d.ts +0 -98
  246. package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +0 -1
  247. package/dist/services/processor-discovery/processor-discovery.service.js +0 -258
  248. package/dist/services/processor-discovery/processor-discovery.service.js.map +0 -1
  249. package/dist/services/processor-discovery/processor-registry.d.ts +0 -58
  250. package/dist/services/processor-discovery/processor-registry.d.ts.map +0 -1
  251. package/dist/services/processor-discovery/processor-registry.js +0 -74
  252. package/dist/services/processor-discovery/processor-registry.js.map +0 -1
  253. package/dist/services/processor-discovery/scaling-registration.service.d.ts +0 -60
  254. package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +0 -1
  255. package/dist/services/processor-discovery/scaling-registration.service.js +0 -261
  256. package/dist/services/processor-discovery/scaling-registration.service.js.map +0 -1
  257. package/dist/services/processor-discovery/worker-factory.service.d.ts +0 -54
  258. package/dist/services/processor-discovery/worker-factory.service.d.ts.map +0 -1
  259. package/dist/services/processor-discovery/worker-factory.service.js +0 -185
  260. package/dist/services/processor-discovery/worker-factory.service.js.map +0 -1
  261. package/dist/services/queue-bus/entity-target.d.ts +0 -58
  262. package/dist/services/queue-bus/entity-target.d.ts.map +0 -1
  263. package/dist/services/queue-bus/entity-target.js +0 -109
  264. package/dist/services/queue-bus/entity-target.js.map +0 -1
  265. package/dist/services/queue-bus/queue-bus.types.d.ts +0 -40
  266. package/dist/services/queue-bus/queue-bus.types.d.ts.map +0 -1
  267. package/dist/services/queue-bus/queue-bus.types.js +0 -3
  268. package/dist/services/queue-bus/queue-bus.types.js.map +0 -1
  269. package/dist/services/queue-bus/queue-target.d.ts +0 -61
  270. package/dist/services/queue-bus/queue-target.d.ts.map +0 -1
  271. package/dist/services/queue-bus/queue-target.js +0 -123
  272. package/dist/services/queue-bus/queue-target.js.map +0 -1
  273. package/dist/services/queue-events-manager/index.d.ts +0 -2
  274. package/dist/services/queue-events-manager/index.d.ts.map +0 -1
  275. package/dist/services/queue-events-manager/index.js.map +0 -1
  276. package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +0 -120
  277. package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +0 -1
  278. package/dist/services/queue-events-manager/queue-events-manager.service.js +0 -343
  279. package/dist/services/queue-events-manager/queue-events-manager.service.js.map +0 -1
  280. package/dist/services/queue-manager/index.d.ts +0 -2
  281. package/dist/services/queue-manager/index.d.ts.map +0 -1
  282. package/dist/services/queue-manager/index.js.map +0 -1
  283. package/dist/services/queue-manager/queue-manager.service.d.ts +0 -148
  284. package/dist/services/queue-manager/queue-manager.service.d.ts.map +0 -1
  285. package/dist/services/queue-manager/queue-manager.service.js +0 -348
  286. package/dist/services/queue-manager/queue-manager.service.js.map +0 -1
  287. package/dist/services/resource-lock/index.d.ts +0 -2
  288. package/dist/services/resource-lock/index.d.ts.map +0 -1
  289. package/dist/services/resource-lock/index.js +0 -18
  290. package/dist/services/resource-lock/index.js.map +0 -1
  291. package/dist/services/resource-lock/resource-lock.service.d.ts +0 -120
  292. package/dist/services/resource-lock/resource-lock.service.d.ts.map +0 -1
  293. package/dist/services/resource-lock/resource-lock.service.js +0 -367
  294. package/dist/services/resource-lock/resource-lock.service.js.map +0 -1
  295. package/dist/services/service-queue/index.d.ts +0 -3
  296. package/dist/services/service-queue/index.d.ts.map +0 -1
  297. package/dist/services/service-queue/index.js +0 -19
  298. package/dist/services/service-queue/index.js.map +0 -1
  299. package/dist/services/service-queue/service-queue.service.d.ts +0 -199
  300. package/dist/services/service-queue/service-queue.service.d.ts.map +0 -1
  301. package/dist/services/service-queue/service-queue.service.js +0 -617
  302. package/dist/services/service-queue/service-queue.service.js.map +0 -1
  303. package/dist/services/service-queue/service-queue.types.d.ts +0 -32
  304. package/dist/services/service-queue/service-queue.types.d.ts.map +0 -1
  305. package/dist/services/service-queue/service-queue.types.js +0 -27
  306. package/dist/services/service-queue/service-queue.types.js.map +0 -1
  307. package/dist/services/shutdown-state/index.d.ts +0 -2
  308. package/dist/services/shutdown-state/index.d.ts.map +0 -1
  309. package/dist/services/shutdown-state/index.js +0 -18
  310. package/dist/services/shutdown-state/index.js.map +0 -1
  311. package/dist/services/shutdown-state/shutdown-state.service.d.ts +0 -69
  312. package/dist/services/shutdown-state/shutdown-state.service.d.ts.map +0 -1
  313. package/dist/services/shutdown-state/shutdown-state.service.js +0 -127
  314. package/dist/services/shutdown-state/shutdown-state.service.js.map +0 -1
  315. package/dist/services/spawn-queue/index.d.ts +0 -2
  316. package/dist/services/spawn-queue/index.d.ts.map +0 -1
  317. package/dist/services/spawn-queue/index.js.map +0 -1
  318. package/dist/services/spawn-queue/spawn-queue.service.d.ts +0 -119
  319. package/dist/services/spawn-queue/spawn-queue.service.d.ts.map +0 -1
  320. package/dist/services/spawn-queue/spawn-queue.service.js +0 -273
  321. package/dist/services/spawn-queue/spawn-queue.service.js.map +0 -1
  322. package/dist/services/worker-manager/index.d.ts +0 -2
  323. package/dist/services/worker-manager/index.d.ts.map +0 -1
  324. package/dist/services/worker-manager/index.js +0 -18
  325. package/dist/services/worker-manager/index.js.map +0 -1
  326. package/dist/services/worker-manager/worker-manager.service.d.ts +0 -221
  327. package/dist/services/worker-manager/worker-manager.service.d.ts.map +0 -1
  328. package/dist/services/worker-manager/worker-manager.service.js +0 -591
  329. package/dist/services/worker-manager/worker-manager.service.js.map +0 -1
  330. package/dist/utils/helpers.d.ts +0 -5
  331. package/dist/utils/helpers.d.ts.map +0 -1
  332. package/dist/utils/helpers.js +0 -21
  333. package/dist/utils/helpers.js.map +0 -1
  334. package/dist/utils/job.utils.d.ts +0 -50
  335. package/dist/utils/job.utils.d.ts.map +0 -1
  336. package/dist/utils/job.utils.js +0 -89
  337. package/dist/utils/job.utils.js.map +0 -1
@@ -1,591 +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 __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 WorkerManagerService_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.WorkerManagerService = void 0;
20
- const common_1 = require("@nestjs/common");
21
- const bullmq_1 = require("bullmq");
22
- const ioredis_1 = __importDefault(require("ioredis"));
23
- const uuid_1 = require("uuid");
24
- const utils_1 = require("../../utils");
25
- const constants_1 = require("../constants");
26
- /**
27
- * WorkerManagerService
28
- *
29
- * Manages worker lifecycle with features from both Whatsapi and bl-blackjack-service:
30
- *
31
- * - Dynamic worker creation per entity (user message queue workers, table workers)
32
- * - Heartbeat-based liveness tracking with TTL
33
- * - Graceful shutdown via Redis pub/sub
34
- * - Node-aware worker tracking (multi-instance support)
35
- * - Automatic cleanup on application shutdown
36
- *
37
- * Architecture Notes:
38
- * - Each worker registers itself with a heartbeat TTL
39
- * - Workers subscribe to their own shutdown channel
40
- * - A cron process monitors worker health and spawns/terminates as needed
41
- * - On application shutdown, all node workers are signaled to close gracefully
42
- *
43
- * @example
44
- * ```typescript
45
- * const worker = await workerManager.createWorker({
46
- * workerName: `user-${userId}-worker`,
47
- * queueName: `user-${userId}-queue`,
48
- * processor: async (job) => {
49
- * // Process job
50
- * },
51
- * });
52
- * ```
53
- */
54
- let WorkerManagerService = WorkerManagerService_1 = class WorkerManagerService {
55
- constructor(redis, config) {
56
- this.redis = redis;
57
- this.config = config;
58
- this.logger = new common_1.Logger(WorkerManagerService_1.name);
59
- this.workers = new Map();
60
- this.workerStates = new Map();
61
- this.heartbeatIntervals = new Map();
62
- this.shutdownSubscriptions = new Map();
63
- /** Tracks the last job completion time per worker (for idle detection) */
64
- this.lastJobCompletedAt = new Map();
65
- this.subscriberClient = null;
66
- this.nodeId = this.generateNodeId();
67
- this.keyPrefix = (0, utils_1.resolveKeyPrefix)(config);
68
- this.logger.log(`WorkerManager initialized with nodeId: ${this.nodeId}`);
69
- }
70
- /**
71
- * Initialize subscriber client for pub/sub communication.
72
- */
73
- onModuleInit() {
74
- this.subscriberClient = this.createSubscriberClient();
75
- }
76
- /**
77
- * Create a new worker with automatic lifecycle management.
78
- *
79
- * This method:
80
- * 1. Creates a BullMQ Worker
81
- * 2. Sets up heartbeat TTL tracking
82
- * 3. Subscribes to shutdown channel for graceful termination
83
- * 4. Registers lifecycle event handlers
84
- */
85
- async createWorker(options) {
86
- const { workerName, queueName, config, events, processor } = options;
87
- // Check if worker already exists
88
- if (await this.workerExists(workerName)) {
89
- this.logger.warn(`Worker ${workerName} already exists, skipping creation`);
90
- const existingWorker = this.workers.get(workerName);
91
- if (existingWorker)
92
- return existingWorker;
93
- }
94
- this.logger.log(`Creating worker: ${workerName} for queue: ${queueName}`);
95
- const workerConfig = this.mergeWorkerConfig(config);
96
- this.logger.log(`Worker ${workerName} config: concurrency=${workerConfig.concurrency}`);
97
- // IMMEDIATELY create heartbeat key BEFORE creating BullMQ worker
98
- // This closes the race condition window where another scaling cycle
99
- // could see "no worker exists" and try to create a duplicate
100
- await this.resetWorkerHeartbeat(workerName, workerConfig.heartbeatTTL || 3);
101
- // Create the BullMQ worker
102
- const worker = new bullmq_1.Worker(queueName, processor, {
103
- connection: this.redis.duplicate(),
104
- concurrency: workerConfig.concurrency,
105
- stalledInterval: workerConfig.stalledInterval,
106
- lockDuration: workerConfig.lockDuration,
107
- maxStalledCount: workerConfig.maxStalledCount,
108
- });
109
- // Store worker instance
110
- this.workers.set(workerName, worker);
111
- // Initialize worker state
112
- const state = {
113
- workerId: (0, uuid_1.v4)(),
114
- workerName,
115
- nodeId: this.nodeId,
116
- status: 'starting',
117
- createdAt: new Date(),
118
- lastHeartbeat: new Date(),
119
- };
120
- this.workerStates.set(workerName, state);
121
- // Set up heartbeat
122
- this.setupHeartbeat(workerName, workerConfig.heartbeatTTL || 3);
123
- // Set up shutdown subscription
124
- await this.subscribeToShutdown(workerName, worker);
125
- // Register event handlers
126
- this.registerWorkerEvents(worker, workerName, events);
127
- return worker;
128
- }
129
- /**
130
- * Check if a worker exists and is alive (has valid heartbeat).
131
- * Uses a global alive key for O(1) lookup instead of KEYS scan.
132
- * The alive key is maintained alongside the per-node heartbeat key.
133
- */
134
- async workerExists(workerName) {
135
- const aliveKey = this.getGlobalAliveKey(workerName);
136
- const exists = await this.redis.exists(aliveKey);
137
- return exists === 1;
138
- }
139
- /**
140
- * Atomically claim a worker slot using SET NX.
141
- * Returns true if this pod claimed the slot (and should create the worker).
142
- * Returns false if another pod already claimed it.
143
- * Uses a separate claim key (not the alive key) so that workerExists()
144
- * doesn't see the claim as an existing worker before creation finishes.
145
- */
146
- async claimWorkerSlot(workerName, ttlSeconds = 10) {
147
- const claimKey = `${this.keyPrefix}:worker-claim:${workerName}`;
148
- // SET NX — only succeeds if key doesn't exist (atomic claim)
149
- const result = await this.redis.set(claimKey, this.nodeId, 'EX', ttlSeconds, 'NX');
150
- return result === 'OK';
151
- }
152
- /**
153
- * Check if a worker exists on THIS node specifically.
154
- * Use this when you need node-local checks (e.g., for cleanup).
155
- */
156
- async workerExistsOnThisNode(workerName) {
157
- const key = this.getWorkerKey(workerName);
158
- const exists = await this.redis.exists(key);
159
- return exists === 1;
160
- }
161
- /**
162
- * Get all running workers for the current node.
163
- */
164
- async getNodeWorkers() {
165
- const pattern = `${this.keyPrefix}:worker:${this.nodeId}:*`;
166
- const keys = await this.redis.keys(pattern);
167
- return keys.map((key) => key.split(':').pop());
168
- }
169
- /**
170
- * Get all running workers across all nodes.
171
- */
172
- async getAllWorkers() {
173
- const pattern = `${this.keyPrefix}:worker:*:*`;
174
- const keys = await this.redis.keys(pattern);
175
- return keys.map((key) => key.split(':').pop());
176
- }
177
- /**
178
- * Get all workers for a specific entity.
179
- * Uses the worker heartbeat TTL keys as the single source of truth.
180
- * Worker names follow the pattern: {entityId}-worker
181
- */
182
- async getEntityWorkers(entityType, entityId) {
183
- // Worker heartbeat keys follow pattern: {prefix}:worker:{nodeId}:{workerName}
184
- // Worker names follow pattern: {entityId}-worker
185
- const workerName = `${entityId}-worker`;
186
- const pattern = `${this.keyPrefix}:worker:*:${workerName}`;
187
- const keys = await this.redis.keys(pattern);
188
- return keys.map((key) => key.split(':').pop());
189
- }
190
- /**
191
- * Signal a worker to close gracefully via pub/sub.
192
- */
193
- async signalWorkerClose(workerName) {
194
- const channel = this.getWorkerShutdownChannel(workerName);
195
- await this.redis.publish(channel, 'shutdown');
196
- this.logger.log(`Sent shutdown signal to worker: ${workerName}`);
197
- }
198
- /**
199
- * Signal all workers on current node to close.
200
- */
201
- async signalNodeWorkersClose() {
202
- const workers = await this.getNodeWorkers();
203
- this.logger.log(`Signaling ${workers.length} workers to close on node ${this.nodeId}`);
204
- await Promise.all(workers.map((workerName) => this.signalWorkerClose(workerName)));
205
- }
206
- /**
207
- * Close all workers managed by this instance.
208
- * This is the public API for external callers to gracefully shutdown workers.
209
- */
210
- async closeAllWorkers(timeoutMs = 30000) {
211
- this.logger.warn(`Closing all workers on node ${this.nodeId}`);
212
- // Clear all heartbeat intervals
213
- for (const [workerName, interval] of this.heartbeatIntervals) {
214
- clearInterval(interval);
215
- this.heartbeatIntervals.delete(workerName);
216
- }
217
- // Signal all workers to close
218
- await this.signalNodeWorkersClose();
219
- // Wait for workers to close
220
- try {
221
- await this.waitForWorkersToClose(timeoutMs);
222
- }
223
- catch (error) {
224
- this.logger.warn(`Some workers did not close gracefully: ${error}`);
225
- }
226
- }
227
- /**
228
- * Wait for all node workers to close with timeout.
229
- */
230
- async waitForWorkersToClose(timeoutMs = 60000) {
231
- const startTime = Date.now();
232
- while (Date.now() - startTime < timeoutMs) {
233
- const workers = await this.getNodeWorkers();
234
- if (workers.length === 0) {
235
- this.logger.log(`All workers on node ${this.nodeId} have closed.`);
236
- return;
237
- }
238
- this.logger.debug(`Waiting... ${workers.length} workers remaining.`);
239
- await this.sleep(1000);
240
- }
241
- throw new Error(`Timeout reached while waiting for workers to close on node ${this.nodeId}`);
242
- }
243
- /**
244
- * Reset worker heartbeat TTL.
245
- */
246
- async resetWorkerHeartbeat(workerName, ttlSeconds) {
247
- const ttl = ttlSeconds || this.config.workerDefaults?.heartbeatTTL || 3;
248
- const nodeKey = this.getWorkerKey(workerName);
249
- const aliveKey = this.getGlobalAliveKey(workerName);
250
- // Pipeline: refresh both keys in a single Redis round-trip
251
- const pipeline = this.redis.pipeline();
252
- pipeline.set(nodeKey, '1', 'EX', ttl);
253
- pipeline.set(aliveKey, this.nodeId, 'EX', ttl);
254
- await pipeline.exec();
255
- // Update local state
256
- const state = this.workerStates.get(workerName);
257
- if (state) {
258
- state.lastHeartbeat = new Date();
259
- }
260
- }
261
- /**
262
- * Remove worker heartbeat (mark as dead).
263
- */
264
- async removeWorkerHeartbeat(workerName) {
265
- const nodeKey = this.getWorkerKey(workerName);
266
- const aliveKey = this.getGlobalAliveKey(workerName);
267
- const idleKey = this.getWorkerIdleKey(workerName);
268
- // Pipeline: remove all keys in a single round-trip
269
- const pipeline = this.redis.pipeline();
270
- pipeline.del(nodeKey);
271
- pipeline.del(aliveKey);
272
- pipeline.del(idleKey);
273
- await pipeline.exec();
274
- this.logger.debug(`Removed heartbeat for worker: ${workerName}`);
275
- }
276
- // =========================================================================
277
- // IDLE TRACKING METHODS
278
- // =========================================================================
279
- /**
280
- * Mark that a worker has completed a job (resets idle counter).
281
- * Called internally when job completes.
282
- */
283
- markWorkerActive(workerName) {
284
- this.lastJobCompletedAt.set(workerName, Date.now());
285
- // Reset Redis idle counter to 0
286
- this.resetWorkerIdleCounter(workerName).catch((err) => this.logger.warn(`Failed to reset idle counter for ${workerName}: ${err.message}`));
287
- }
288
- /**
289
- * Get the idle seconds counter for a worker from Redis.
290
- * This is incremented by the heartbeat and reset when a job completes.
291
- */
292
- async getWorkerIdleSeconds(workerName) {
293
- const key = this.getWorkerIdleKey(workerName);
294
- const value = await this.redis.get(key);
295
- return value ? parseInt(value, 10) : 0;
296
- }
297
- /**
298
- * Reset the idle counter for a worker (called when job completes).
299
- */
300
- async resetWorkerIdleCounter(workerName) {
301
- const key = this.getWorkerIdleKey(workerName);
302
- await this.redis.set(key, '0');
303
- }
304
- /**
305
- * Increment the idle counter for a worker (called by heartbeat).
306
- * Returns the new idle seconds value.
307
- */
308
- async incrementWorkerIdleCounter(workerName, incrementBy = 1) {
309
- const key = this.getWorkerIdleKey(workerName);
310
- const newValue = await this.redis.incrby(key, incrementBy);
311
- return newValue;
312
- }
313
- /**
314
- * Remove the idle counter for a worker (cleanup).
315
- */
316
- async removeWorkerIdleCounter(workerName) {
317
- const key = this.getWorkerIdleKey(workerName);
318
- await this.redis.del(key);
319
- }
320
- /**
321
- * Check if a worker is idle based on threshold.
322
- * @param workerName - Worker name
323
- * @param thresholdSeconds - Idle threshold in seconds (default: 15)
324
- */
325
- async isWorkerIdle(workerName, thresholdSeconds = 15) {
326
- const idleSeconds = await this.getWorkerIdleSeconds(workerName);
327
- const isIdle = idleSeconds >= thresholdSeconds;
328
- if (isIdle) {
329
- this.logger.debug(`Worker ${workerName} is idle: ${idleSeconds}s >= ${thresholdSeconds}s threshold`);
330
- }
331
- return isIdle;
332
- }
333
- /**
334
- * Get the Redis key for a worker's idle counter.
335
- */
336
- getWorkerIdleKey(workerName) {
337
- return `${this.keyPrefix}:worker-idle:${workerName}`;
338
- }
339
- // =========================================================================
340
- // PUBLIC METHODS (CONTINUED)
341
- // =========================================================================
342
- /**
343
- * Get the node ID for this instance.
344
- */
345
- getNodeId() {
346
- return this.nodeId;
347
- }
348
- /**
349
- * Index a worker for an entity (for entity-based tracking).
350
- */
351
- async indexEntityWorker(entityType, entityId, workerId, ttlSeconds = 3) {
352
- const key = `${this.keyPrefix}:entity-worker:${entityType}:${entityId}:${workerId}`;
353
- await this.redis.set(key, '1', 'EX', ttlSeconds);
354
- }
355
- /**
356
- * Remove entity worker index.
357
- */
358
- async removeEntityWorkerIndex(entityType, entityId, workerId) {
359
- const key = `${this.keyPrefix}:entity-worker:${entityType}:${entityId}:${workerId}`;
360
- await this.redis.del(key);
361
- }
362
- /**
363
- * Get subscriber client for pub/sub operations.
364
- */
365
- getSubscriberClient() {
366
- if (!this.subscriberClient) {
367
- this.subscriberClient = this.createSubscriberClient();
368
- }
369
- return this.subscriberClient;
370
- }
371
- /**
372
- * Graceful shutdown on application termination.
373
- */
374
- async onApplicationShutdown() {
375
- this.logger.warn(`Application shutting down, closing workers on node ${this.nodeId}`);
376
- // Clear all heartbeat intervals
377
- for (const [workerName, interval] of this.heartbeatIntervals) {
378
- clearInterval(interval);
379
- this.heartbeatIntervals.delete(workerName);
380
- }
381
- // Signal all workers to close
382
- await this.signalNodeWorkersClose();
383
- // Wait for workers to close
384
- try {
385
- await this.waitForWorkersToClose(30000);
386
- }
387
- catch (error) {
388
- this.logger.warn(`Some workers did not close gracefully: ${error}`);
389
- }
390
- // Close subscriber client
391
- if (this.subscriberClient) {
392
- await this.subscriberClient.quit();
393
- }
394
- }
395
- // =========================================================================
396
- // PRIVATE METHODS
397
- // =========================================================================
398
- /**
399
- * Generate a unique node ID for this instance.
400
- */
401
- generateNodeId() {
402
- return (0, uuid_1.v4)();
403
- }
404
- /**
405
- * Create a subscriber client for pub/sub.
406
- */
407
- createSubscriberClient() {
408
- return this.redis.duplicate();
409
- }
410
- /**
411
- * Get the Redis key for a worker's heartbeat (per-node).
412
- */
413
- getWorkerKey(workerName) {
414
- return `${this.keyPrefix}:worker:${this.nodeId}:${workerName}`;
415
- }
416
- /**
417
- * Get the global alive key for O(1) worker existence check.
418
- * This key has the same TTL as the per-node heartbeat and is
419
- * refreshed in the same pipeline. It replaces the O(N) KEYS scan
420
- * with a single O(1) EXISTS call.
421
- */
422
- getGlobalAliveKey(workerName) {
423
- return `${this.keyPrefix}:worker-alive:${workerName}`;
424
- }
425
- /**
426
- * Get the shutdown channel for a worker.
427
- */
428
- getWorkerShutdownChannel(workerName) {
429
- return `${this.keyPrefix}:worker:${workerName}:shutdown`;
430
- }
431
- /**
432
- * Merge worker config with defaults.
433
- */
434
- mergeWorkerConfig(config) {
435
- const defaults = {
436
- concurrency: 1,
437
- stalledInterval: 1000,
438
- lockDuration: 30000,
439
- maxStalledCount: Number.MAX_SAFE_INTEGER,
440
- heartbeatTTL: 3,
441
- heartbeatInterval: 1000,
442
- };
443
- return { ...defaults, ...this.config.workerDefaults, ...config };
444
- }
445
- /**
446
- * Set up heartbeat interval for a worker.
447
- * Also increments idle counter on each heartbeat tick.
448
- */
449
- setupHeartbeat(workerName, ttlSeconds) {
450
- // Initialize idle counter to 0
451
- this.resetWorkerIdleCounter(workerName).catch(() => { });
452
- // Track last job completed as now (worker just started)
453
- this.lastJobCompletedAt.set(workerName, Date.now());
454
- const heartbeatIntervalMs = (ttlSeconds * 1000) / 2; // Update at half the TTL
455
- const idleIncrementSeconds = Math.ceil(heartbeatIntervalMs / 1000); // Convert to seconds
456
- const interval = setInterval(async () => {
457
- try {
458
- // Reset heartbeat TTL
459
- await this.resetWorkerHeartbeat(workerName, ttlSeconds);
460
- // Increment idle counter (will be reset to 0 when job completes)
461
- const idleSeconds = await this.incrementWorkerIdleCounter(workerName, idleIncrementSeconds);
462
- // Debug log every 10 seconds of idle time
463
- if (idleSeconds > 0 && idleSeconds % 10 === 0) {
464
- this.logger.debug(`Worker ${workerName} idle for ${idleSeconds}s`);
465
- }
466
- }
467
- catch (error) {
468
- this.logger.error(`Failed to reset heartbeat for worker ${workerName}:`, error);
469
- }
470
- }, heartbeatIntervalMs);
471
- this.heartbeatIntervals.set(workerName, interval);
472
- }
473
- /**
474
- * Subscribe to shutdown channel for graceful termination.
475
- */
476
- async subscribeToShutdown(workerName, worker) {
477
- const channel = this.getWorkerShutdownChannel(workerName);
478
- const subscriber = this.getSubscriberClient();
479
- await subscriber.subscribe(channel);
480
- this.logger.debug(`Subscribed to shutdown channel: ${channel}`);
481
- const messageHandler = async (msgChannel) => {
482
- if (msgChannel === channel) {
483
- this.logger.log(`Received shutdown signal for worker: ${workerName}`);
484
- await this.closeWorker(workerName, worker);
485
- }
486
- };
487
- subscriber.on('message', messageHandler);
488
- // Store cleanup function
489
- this.shutdownSubscriptions.set(workerName, () => {
490
- subscriber.off('message', messageHandler);
491
- subscriber.unsubscribe(channel).catch(() => { });
492
- });
493
- }
494
- /**
495
- * Close a worker and clean up resources.
496
- */
497
- async closeWorker(workerName, worker) {
498
- // Clear heartbeat interval
499
- const interval = this.heartbeatIntervals.get(workerName);
500
- if (interval) {
501
- clearInterval(interval);
502
- this.heartbeatIntervals.delete(workerName);
503
- }
504
- // Unsubscribe from shutdown channel
505
- const cleanup = this.shutdownSubscriptions.get(workerName);
506
- if (cleanup) {
507
- cleanup();
508
- this.shutdownSubscriptions.delete(workerName);
509
- }
510
- // Remove heartbeat
511
- await this.removeWorkerHeartbeat(workerName);
512
- // Close worker
513
- await worker.close();
514
- // Remove from maps
515
- this.workers.delete(workerName);
516
- this.workerStates.delete(workerName);
517
- this.logger.log(`Worker ${workerName} closed and cleaned up.`);
518
- }
519
- /**
520
- * Register event handlers for a worker.
521
- */
522
- registerWorkerEvents(worker, workerName, events) {
523
- worker.on('ready', async () => {
524
- const state = this.workerStates.get(workerName);
525
- if (state)
526
- state.status = 'ready';
527
- await this.resetWorkerHeartbeat(workerName);
528
- this.logger.log(`Worker ${workerName} is ready.`);
529
- if (events?.onReady) {
530
- await events.onReady(worker, workerName);
531
- }
532
- });
533
- worker.on('completed', async (job) => {
534
- // Reset idle counter - worker is active
535
- this.markWorkerActive(workerName);
536
- this.logger.debug(`Worker ${workerName} completed job: ${job.id}`);
537
- if (events?.onCompleted) {
538
- await events.onCompleted(job, workerName);
539
- }
540
- });
541
- worker.on('failed', async (job, error) => {
542
- // Reset idle counter even on failure - worker was processing
543
- this.markWorkerActive(workerName);
544
- this.logger.error(`Worker ${workerName} failed job ${job?.id}: ${error.message}`);
545
- if (events?.onFailed) {
546
- await events.onFailed(job, error, workerName);
547
- }
548
- });
549
- worker.on('progress', async (job, progress) => {
550
- this.logger.debug(`Worker ${workerName} job ${job.id} progress: ${JSON.stringify(progress)}`);
551
- if (events?.onProgress) {
552
- await events.onProgress(job, progress);
553
- }
554
- });
555
- worker.on('stalled', async (jobId) => {
556
- this.logger.warn(`Worker ${workerName} job ${jobId} stalled`);
557
- if (events?.onStalled) {
558
- await events.onStalled(jobId, workerName);
559
- }
560
- });
561
- worker.on('closing', () => {
562
- const state = this.workerStates.get(workerName);
563
- if (state)
564
- state.status = 'closing';
565
- this.logger.log(`Worker ${workerName} is closing...`);
566
- if (events?.onClosing) {
567
- events.onClosing(workerName);
568
- }
569
- });
570
- worker.on('closed', async () => {
571
- this.logger.log(`Worker ${workerName} closed.`);
572
- if (events?.onClosed) {
573
- await events.onClosed(workerName);
574
- }
575
- });
576
- }
577
- /**
578
- * Sleep utility.
579
- */
580
- sleep(ms) {
581
- return new Promise((resolve) => setTimeout(resolve, ms));
582
- }
583
- };
584
- exports.WorkerManagerService = WorkerManagerService;
585
- exports.WorkerManagerService = WorkerManagerService = WorkerManagerService_1 = __decorate([
586
- (0, common_1.Injectable)(),
587
- __param(0, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_REDIS)),
588
- __param(1, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
589
- __metadata("design:paramtypes", [ioredis_1.default, Object])
590
- ], WorkerManagerService);
591
- //# sourceMappingURL=worker-manager.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-manager.service.js","sourceRoot":"","sources":["../../../src/services/worker-manager/worker-manager.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './job.utils';
2
- export * from './async.utils';
3
- export * from './naming.utils';
4
- export * from './rate-limit.utils';
5
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,21 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./job.utils"), exports);
18
- __exportStar(require("./async.utils"), exports);
19
- __exportStar(require("./naming.utils"), exports);
20
- __exportStar(require("./rate-limit.utils"), exports);
21
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,iDAA+B;AAC/B,qDAAmC"}