@shivaedev/jobs 0.30.0 → 0.31.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 (381) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +52 -19
  3. package/dist/display.d.ts +14 -0
  4. package/dist/display.d.ts.map +1 -0
  5. package/dist/display.js +2 -0
  6. package/dist/display.js.map +1 -0
  7. package/dist/server/ClientDatabase.d.ts +21 -0
  8. package/dist/server/ClientDatabase.d.ts.map +1 -0
  9. package/dist/server/ClientDatabase.js +2 -0
  10. package/dist/server/ClientDatabase.js.map +1 -0
  11. package/dist/server/PgBoss.d.ts +2 -2
  12. package/dist/server/PgBoss.d.ts.map +1 -1
  13. package/dist/server/adapters/batchClockOffset.d.ts +2 -2
  14. package/dist/server/adapters/batchClockOffset.d.ts.map +1 -1
  15. package/dist/server/adapters/batchClockOffset.js +5 -4
  16. package/dist/server/adapters/batchClockOffset.js.map +1 -1
  17. package/dist/server/adapters/batchHandler.d.ts +5 -0
  18. package/dist/server/adapters/batchHandler.d.ts.map +1 -0
  19. package/dist/server/{internal → adapters}/batchHandler.js +6 -6
  20. package/dist/server/adapters/batchHandler.js.map +1 -0
  21. package/dist/server/adapters/clientCache.d.ts +10 -0
  22. package/dist/server/adapters/clientCache.d.ts.map +1 -0
  23. package/dist/server/{internal → adapters}/clientCache.js +5 -19
  24. package/dist/server/adapters/clientCache.js.map +1 -0
  25. package/dist/server/adapters/clientErrorLogger.js +1 -1
  26. package/dist/server/adapters/clientErrorLogger.js.map +1 -1
  27. package/dist/server/adapters/defaultClientFactory.d.ts +4 -0
  28. package/dist/server/adapters/defaultClientFactory.d.ts.map +1 -0
  29. package/dist/server/adapters/defaultClientFactory.js.map +1 -0
  30. package/dist/server/adapters/deferralCount.d.ts +3 -3
  31. package/dist/server/adapters/deferralCount.d.ts.map +1 -1
  32. package/dist/server/adapters/deferralCount.js +2 -2
  33. package/dist/server/adapters/deferralCount.js.map +1 -1
  34. package/dist/server/adapters/expireAttempt.d.ts +4 -0
  35. package/dist/server/adapters/expireAttempt.d.ts.map +1 -0
  36. package/dist/server/{internal → adapters}/expireAttempt.js +1 -1
  37. package/dist/server/{internal → adapters}/expireAttempt.js.map +1 -1
  38. package/dist/server/adapters/installSchema.d.ts +1 -1
  39. package/dist/server/adapters/installSchema.d.ts.map +1 -1
  40. package/dist/server/adapters/installSchema.js +1 -1
  41. package/dist/server/adapters/installSchema.js.map +1 -1
  42. package/dist/server/adapters/jobEngine.d.ts +5 -0
  43. package/dist/server/adapters/jobEngine.d.ts.map +1 -0
  44. package/dist/server/adapters/jobEngine.js +50 -0
  45. package/dist/server/adapters/jobEngine.js.map +1 -0
  46. package/dist/server/adapters/lifecycle.d.ts +11 -0
  47. package/dist/server/adapters/lifecycle.d.ts.map +1 -0
  48. package/dist/server/adapters/lifecycle.js +48 -0
  49. package/dist/server/adapters/lifecycle.js.map +1 -0
  50. package/dist/server/adapters/listJobs.d.ts +5 -0
  51. package/dist/server/adapters/listJobs.d.ts.map +1 -0
  52. package/dist/server/adapters/listJobs.js +37 -0
  53. package/dist/server/adapters/listJobs.js.map +1 -0
  54. package/dist/server/adapters/observeTestingSettlements.d.ts +6 -0
  55. package/dist/server/adapters/observeTestingSettlements.d.ts.map +1 -0
  56. package/dist/server/adapters/observeTestingSettlements.js.map +1 -0
  57. package/dist/server/adapters/queueAdministration.d.ts +4 -0
  58. package/dist/server/adapters/queueAdministration.d.ts.map +1 -0
  59. package/dist/server/adapters/queueAdministration.js +42 -0
  60. package/dist/server/adapters/queueAdministration.js.map +1 -0
  61. package/dist/server/adapters/registerWorker.d.ts +5 -3
  62. package/dist/server/adapters/registerWorker.d.ts.map +1 -1
  63. package/dist/server/adapters/registerWorker.js +9 -6
  64. package/dist/server/adapters/registerWorker.js.map +1 -1
  65. package/dist/server/adapters/retireJobs.d.ts +3 -3
  66. package/dist/server/adapters/retireJobs.d.ts.map +1 -1
  67. package/dist/server/adapters/retireJobs.js +3 -3
  68. package/dist/server/adapters/retireJobs.js.map +1 -1
  69. package/dist/server/adapters/schemaIndexBuilds.d.ts +2 -2
  70. package/dist/server/adapters/schemaIndexBuilds.d.ts.map +1 -1
  71. package/dist/server/adapters/schemaIndexBuilds.js.map +1 -1
  72. package/dist/server/adapters/settleDeferral.d.ts +7 -0
  73. package/dist/server/adapters/settleDeferral.d.ts.map +1 -0
  74. package/dist/server/{internal → adapters}/settleDeferral.js +2 -2
  75. package/dist/server/adapters/settleDeferral.js.map +1 -0
  76. package/dist/server/adapters/testingClient.d.ts +14 -0
  77. package/dist/server/adapters/testingClient.d.ts.map +1 -0
  78. package/dist/server/{internal → adapters}/testingClient.js +12 -11
  79. package/dist/server/adapters/testingClient.js.map +1 -0
  80. package/dist/server/adapters/testingController.d.ts +34 -0
  81. package/dist/server/adapters/testingController.d.ts.map +1 -0
  82. package/dist/server/adapters/testingController.js +98 -0
  83. package/dist/server/adapters/testingController.js.map +1 -0
  84. package/dist/server/adapters/testingDueNow.d.ts +3 -3
  85. package/dist/server/adapters/testingDueNow.d.ts.map +1 -1
  86. package/dist/server/adapters/testingDueNow.js +2 -2
  87. package/dist/server/adapters/testingDueNow.js.map +1 -1
  88. package/dist/server/adapters/testingEngine.d.ts +5 -0
  89. package/dist/server/adapters/testingEngine.d.ts.map +1 -0
  90. package/dist/server/adapters/testingEngine.js +23 -0
  91. package/dist/server/adapters/testingEngine.js.map +1 -0
  92. package/dist/server/adapters/testingExpirations.d.ts +6 -4
  93. package/dist/server/adapters/testingExpirations.d.ts.map +1 -1
  94. package/dist/server/adapters/testingExpirations.js.map +1 -1
  95. package/dist/server/adapters/transactionDb.d.ts +2 -2
  96. package/dist/server/adapters/transactionDb.d.ts.map +1 -1
  97. package/dist/server/adapters/transactionDb.js.map +1 -1
  98. package/dist/server/client.d.ts +92 -18
  99. package/dist/server/client.d.ts.map +1 -1
  100. package/dist/server/clientOptions.d.ts +75 -0
  101. package/dist/server/clientOptions.d.ts.map +1 -0
  102. package/dist/server/clientOptions.js +2 -0
  103. package/dist/server/clientOptions.js.map +1 -0
  104. package/dist/server/defineSchedule.d.ts +1 -1
  105. package/dist/server/defineSchedule.d.ts.map +1 -1
  106. package/dist/server/defineSchedule.js +2 -1
  107. package/dist/server/defineSchedule.js.map +1 -1
  108. package/dist/server/definition.d.ts +17 -15
  109. package/dist/server/definition.d.ts.map +1 -1
  110. package/dist/server/definition.js +3 -1
  111. package/dist/server/definition.js.map +1 -1
  112. package/dist/server/engineClient.d.ts +26 -0
  113. package/dist/server/engineClient.d.ts.map +1 -0
  114. package/dist/server/engineClient.js +2 -0
  115. package/dist/server/engineClient.js.map +1 -0
  116. package/dist/server/enqueueOptions.d.ts +22 -0
  117. package/dist/server/enqueueOptions.d.ts.map +1 -0
  118. package/dist/server/enqueueOptions.js +2 -0
  119. package/dist/server/enqueueOptions.js.map +1 -0
  120. package/dist/server/error.d.ts +11 -1
  121. package/dist/server/error.d.ts.map +1 -1
  122. package/dist/server/error.js +8 -1
  123. package/dist/server/error.js.map +1 -1
  124. package/dist/server/health.d.ts +2 -2
  125. package/dist/server/health.d.ts.map +1 -1
  126. package/dist/server/internal/acquireClient.d.ts +11 -0
  127. package/dist/server/internal/acquireClient.d.ts.map +1 -0
  128. package/dist/server/internal/acquireClient.js +21 -0
  129. package/dist/server/internal/acquireClient.js.map +1 -0
  130. package/dist/server/internal/adapters/testingFetches.d.ts +2 -2
  131. package/dist/server/internal/adapters/testingFetches.d.ts.map +1 -1
  132. package/dist/server/internal/adapters/testingFetches.js.map +1 -1
  133. package/dist/server/internal/clientErrors.d.ts +1 -1
  134. package/dist/server/internal/clientErrors.d.ts.map +1 -1
  135. package/dist/server/internal/countsFor.d.ts +3 -3
  136. package/dist/server/internal/countsFor.d.ts.map +1 -1
  137. package/dist/server/internal/countsFor.js +2 -2
  138. package/dist/server/internal/countsFor.js.map +1 -1
  139. package/dist/server/internal/deadLetterResolutionPlan.js +1 -1
  140. package/dist/server/internal/deadLetterResolutionPlan.js.map +1 -1
  141. package/dist/server/internal/deadlineOf.d.ts +2 -2
  142. package/dist/server/internal/deadlineOf.d.ts.map +1 -1
  143. package/dist/server/internal/deadlineOf.js.map +1 -1
  144. package/dist/server/internal/deferrableAttempt.d.ts +4 -5
  145. package/dist/server/internal/deferrableAttempt.d.ts.map +1 -1
  146. package/dist/server/internal/deferrableAttempt.js +5 -14
  147. package/dist/server/internal/deferrableAttempt.js.map +1 -1
  148. package/dist/server/internal/deferral.d.ts +3 -3
  149. package/dist/server/internal/deferral.d.ts.map +1 -1
  150. package/dist/server/internal/deferral.js.map +1 -1
  151. package/dist/server/internal/deferralStorePlan.js +2 -2
  152. package/dist/server/internal/deferralStorePlan.js.map +1 -1
  153. package/dist/server/internal/definitionOptions.d.ts +7 -7
  154. package/dist/server/internal/definitionOptions.d.ts.map +1 -1
  155. package/dist/server/internal/engine.d.ts +30 -0
  156. package/dist/server/internal/engine.d.ts.map +1 -0
  157. package/dist/server/internal/engine.js +6 -0
  158. package/dist/server/internal/engine.js.map +1 -0
  159. package/dist/server/internal/enqueueFor.d.ts +2 -2
  160. package/dist/server/internal/enqueueFor.d.ts.map +1 -1
  161. package/dist/server/internal/enqueueFor.js +3 -3
  162. package/dist/server/internal/enqueueFor.js.map +1 -1
  163. package/dist/server/internal/ensureQueue.d.ts +2 -3
  164. package/dist/server/internal/ensureQueue.d.ts.map +1 -1
  165. package/dist/server/internal/ensureQueue.js +2 -2
  166. package/dist/server/internal/ensureQueue.js.map +1 -1
  167. package/dist/server/internal/healthFor.d.ts +3 -3
  168. package/dist/server/internal/healthFor.d.ts.map +1 -1
  169. package/dist/server/internal/healthFor.js +2 -2
  170. package/dist/server/internal/healthFor.js.map +1 -1
  171. package/dist/server/internal/jobControl.d.ts +9 -4
  172. package/dist/server/internal/jobControl.d.ts.map +1 -1
  173. package/dist/server/internal/jobControl.js +13 -40
  174. package/dist/server/internal/jobControl.js.map +1 -1
  175. package/dist/server/internal/jobListings.d.ts +16 -0
  176. package/dist/server/internal/jobListings.d.ts.map +1 -0
  177. package/dist/server/internal/jobListings.js +52 -0
  178. package/dist/server/internal/jobListings.js.map +1 -0
  179. package/dist/server/internal/jobStorePlans.js +2 -2
  180. package/dist/server/internal/jobStorePlans.js.map +1 -1
  181. package/dist/server/internal/lifecycle.d.ts +11 -7
  182. package/dist/server/internal/lifecycle.d.ts.map +1 -1
  183. package/dist/server/internal/lifecycle.js +2 -49
  184. package/dist/server/internal/lifecycle.js.map +1 -1
  185. package/dist/server/internal/makeService.d.ts +5 -3
  186. package/dist/server/internal/makeService.d.ts.map +1 -1
  187. package/dist/server/internal/makeService.js +15 -11
  188. package/dist/server/internal/makeService.js.map +1 -1
  189. package/dist/server/internal/register.d.ts +5 -5
  190. package/dist/server/internal/register.d.ts.map +1 -1
  191. package/dist/server/internal/register.js +6 -6
  192. package/dist/server/internal/register.js.map +1 -1
  193. package/dist/server/internal/registerReleasedJobs.d.ts +4 -4
  194. package/dist/server/internal/registerReleasedJobs.d.ts.map +1 -1
  195. package/dist/server/internal/registerReleasedJobs.js +2 -2
  196. package/dist/server/internal/registerReleasedJobs.js.map +1 -1
  197. package/dist/server/internal/retryWake.d.ts +1 -1
  198. package/dist/server/internal/retryWake.d.ts.map +1 -1
  199. package/dist/server/internal/retryWake.js +2 -2
  200. package/dist/server/internal/retryWake.js.map +1 -1
  201. package/dist/server/internal/runQueueWorker.d.ts +4 -4
  202. package/dist/server/internal/runQueueWorker.d.ts.map +1 -1
  203. package/dist/server/internal/runQueueWorker.js +5 -5
  204. package/dist/server/internal/runQueueWorker.js.map +1 -1
  205. package/dist/server/internal/storedRows.d.ts +2 -2
  206. package/dist/server/internal/storedRows.d.ts.map +1 -1
  207. package/dist/server/internal/storedRows.js +2 -2
  208. package/dist/server/internal/storedRows.js.map +1 -1
  209. package/dist/server/internal/testingDeferrals.d.ts +3 -3
  210. package/dist/server/internal/testingDeferrals.d.ts.map +1 -1
  211. package/dist/server/internal/testingDeferrals.js +2 -2
  212. package/dist/server/internal/testingDeferrals.js.map +1 -1
  213. package/dist/server/internal/testingIdle.d.ts +3 -3
  214. package/dist/server/internal/testingIdle.d.ts.map +1 -1
  215. package/dist/server/internal/testingIdle.js +2 -2
  216. package/dist/server/internal/testingIdle.js.map +1 -1
  217. package/dist/server/internal/testingReadout.d.ts +7 -41
  218. package/dist/server/internal/testingReadout.d.ts.map +1 -1
  219. package/dist/server/internal/testingReadout.js +2 -2
  220. package/dist/server/internal/testingReadout.js.map +1 -1
  221. package/dist/server/internal/testingRegistrations.d.ts +1 -1
  222. package/dist/server/internal/testingRegistrations.d.ts.map +1 -1
  223. package/dist/server/internal/testingSchedules.d.ts +3 -3
  224. package/dist/server/internal/testingSchedules.d.ts.map +1 -1
  225. package/dist/server/internal/testingSchedules.js +1 -1
  226. package/dist/server/internal/testingSchedules.js.map +1 -1
  227. package/dist/server/internal/testingSnapshot.d.ts +4 -4
  228. package/dist/server/internal/testingSnapshot.d.ts.map +1 -1
  229. package/dist/server/internal/testingSnapshot.js +2 -2
  230. package/dist/server/internal/testingSnapshot.js.map +1 -1
  231. package/dist/server/internal/testingWaits.d.ts +8 -7
  232. package/dist/server/internal/testingWaits.d.ts.map +1 -1
  233. package/dist/server/internal/testingWaits.js +3 -3
  234. package/dist/server/internal/testingWaits.js.map +1 -1
  235. package/dist/server/internal/tracing.d.ts +2 -2
  236. package/dist/server/internal/tracing.d.ts.map +1 -1
  237. package/dist/server/internal/tracing.js.map +1 -1
  238. package/dist/server/internal/validateQueueNames.d.ts +2 -2
  239. package/dist/server/internal/validateQueueNames.d.ts.map +1 -1
  240. package/dist/server/internal/validateQueueNames.js +1 -1
  241. package/dist/server/internal/validateQueueNames.js.map +1 -1
  242. package/dist/server/internal/waitForBatchExpiry.d.ts +4 -4
  243. package/dist/server/internal/waitForBatchExpiry.d.ts.map +1 -1
  244. package/dist/server/internal/waitForBatchExpiry.js +1 -1
  245. package/dist/server/internal/waitForBatchExpiry.js.map +1 -1
  246. package/dist/server/job.d.ts +42 -0
  247. package/dist/server/job.d.ts.map +1 -0
  248. package/dist/server/job.js +2 -0
  249. package/dist/server/job.js.map +1 -0
  250. package/dist/server/jobModule.d.ts +6 -4
  251. package/dist/server/jobModule.d.ts.map +1 -1
  252. package/dist/server/jobModule.js +7 -5
  253. package/dist/server/jobModule.js.map +1 -1
  254. package/dist/server/queueOptions.d.ts +19 -0
  255. package/dist/server/queueOptions.d.ts.map +1 -0
  256. package/dist/server/queueOptions.js +2 -0
  257. package/dist/server/queueOptions.js.map +1 -0
  258. package/dist/server/readJobFailure.d.ts +5 -0
  259. package/dist/server/readJobFailure.d.ts.map +1 -0
  260. package/dist/server/readJobFailure.js +8 -0
  261. package/dist/server/readJobFailure.js.map +1 -0
  262. package/dist/server/schema.d.ts +1 -1
  263. package/dist/server/schema.d.ts.map +1 -1
  264. package/dist/server/schema.js +18 -7
  265. package/dist/server/schema.js.map +1 -1
  266. package/dist/server/service.d.ts +15 -10
  267. package/dist/server/service.d.ts.map +1 -1
  268. package/dist/server/service.js +18 -27
  269. package/dist/server/service.js.map +1 -1
  270. package/dist/server/testing.d.ts +30 -69
  271. package/dist/server/testing.d.ts.map +1 -1
  272. package/dist/server/testing.js +5 -97
  273. package/dist/server/testing.js.map +1 -1
  274. package/dist/server/workerOptions.d.ts +25 -0
  275. package/dist/server/workerOptions.d.ts.map +1 -0
  276. package/dist/server/workerOptions.js +2 -0
  277. package/dist/server/workerOptions.js.map +1 -0
  278. package/package.json +11 -16
  279. package/src/display.ts +12 -0
  280. package/src/server/ClientDatabase.ts +7 -0
  281. package/src/server/PgBoss.ts +2 -2
  282. package/src/server/adapters/batchClockOffset.ts +8 -5
  283. package/src/server/{internal → adapters}/batchHandler.ts +13 -13
  284. package/src/server/{internal → adapters}/clientCache.ts +10 -22
  285. package/src/server/adapters/clientErrorLogger.ts +1 -1
  286. package/src/server/{defaultClientFactory.ts → adapters/defaultClientFactory.ts} +4 -2
  287. package/src/server/adapters/deferralCount.ts +5 -5
  288. package/src/server/{internal → adapters}/expireAttempt.ts +4 -3
  289. package/src/server/adapters/installSchema.ts +2 -2
  290. package/src/server/adapters/jobEngine.ts +59 -0
  291. package/src/server/adapters/lifecycle.ts +67 -0
  292. package/src/server/adapters/listJobs.ts +43 -0
  293. package/src/server/{internal → adapters}/observeTestingSettlements.ts +2 -2
  294. package/src/server/adapters/queueAdministration.ts +47 -0
  295. package/src/server/adapters/registerWorker.ts +17 -12
  296. package/src/server/adapters/retireJobs.ts +5 -5
  297. package/src/server/adapters/schemaIndexBuilds.ts +2 -2
  298. package/src/server/{internal → adapters}/settleDeferral.ts +5 -5
  299. package/src/server/{internal → adapters}/testingClient.ts +31 -26
  300. package/src/server/adapters/testingController.ts +109 -0
  301. package/src/server/adapters/testingDueNow.ts +5 -5
  302. package/src/server/adapters/testingEngine.ts +28 -0
  303. package/src/server/adapters/testingExpirations.ts +6 -4
  304. package/src/server/adapters/transactionDb.ts +2 -2
  305. package/src/server/client.ts +83 -30
  306. package/src/server/clientOptions.ts +81 -0
  307. package/src/server/defineSchedule.ts +3 -2
  308. package/src/server/definition.ts +20 -17
  309. package/src/server/engineClient.ts +24 -0
  310. package/src/server/enqueueOptions.ts +20 -0
  311. package/src/server/error.ts +17 -2
  312. package/src/server/health.ts +2 -2
  313. package/src/server/internal/acquireClient.ts +26 -0
  314. package/src/server/internal/adapters/testingFetches.ts +2 -2
  315. package/src/server/internal/clientErrors.ts +1 -1
  316. package/src/server/internal/countsFor.ts +5 -5
  317. package/src/server/internal/deadLetterResolutionPlan.ts +1 -1
  318. package/src/server/internal/deadlineOf.ts +2 -2
  319. package/src/server/internal/deferrableAttempt.ts +5 -22
  320. package/src/server/internal/deferral.ts +3 -3
  321. package/src/server/internal/deferralStorePlan.ts +2 -2
  322. package/src/server/internal/definitionOptions.ts +1 -1
  323. package/src/server/internal/engine.ts +41 -0
  324. package/src/server/internal/enqueueFor.ts +5 -5
  325. package/src/server/internal/ensureQueue.ts +5 -6
  326. package/src/server/internal/healthFor.ts +4 -4
  327. package/src/server/internal/jobControl.ts +15 -50
  328. package/src/server/internal/jobListings.ts +85 -0
  329. package/src/server/internal/jobStorePlans.ts +2 -2
  330. package/src/server/internal/lifecycle.ts +14 -55
  331. package/src/server/internal/makeService.ts +21 -13
  332. package/src/server/internal/register.ts +9 -9
  333. package/src/server/internal/registerReleasedJobs.ts +5 -5
  334. package/src/server/internal/retryWake.ts +3 -3
  335. package/src/server/internal/runQueueWorker.ts +8 -8
  336. package/src/server/internal/storedRows.ts +3 -3
  337. package/src/server/internal/testingDeferrals.ts +5 -5
  338. package/src/server/internal/testingIdle.ts +5 -5
  339. package/src/server/internal/testingReadout.ts +12 -6
  340. package/src/server/internal/testingRegistrations.ts +1 -1
  341. package/src/server/internal/testingSchedules.ts +4 -4
  342. package/src/server/internal/testingSnapshot.ts +6 -6
  343. package/src/server/internal/testingWaits.ts +11 -10
  344. package/src/server/internal/tracing.ts +2 -2
  345. package/src/server/internal/validateQueueNames.ts +2 -2
  346. package/src/server/internal/waitForBatchExpiry.ts +4 -4
  347. package/src/server/job.ts +42 -0
  348. package/src/server/jobModule.ts +19 -7
  349. package/src/server/queueOptions.ts +20 -0
  350. package/src/server/readJobFailure.ts +12 -0
  351. package/src/server/schema.ts +18 -7
  352. package/src/server/service.ts +40 -44
  353. package/src/server/testing.ts +7 -109
  354. package/src/server/workerOptions.ts +28 -0
  355. package/dist/server/defaultClientFactory.d.ts +0 -3
  356. package/dist/server/defaultClientFactory.d.ts.map +0 -1
  357. package/dist/server/defaultClientFactory.js.map +0 -1
  358. package/dist/server/internal/batchHandler.d.ts +0 -5
  359. package/dist/server/internal/batchHandler.d.ts.map +0 -1
  360. package/dist/server/internal/batchHandler.js.map +0 -1
  361. package/dist/server/internal/clientCache.d.ts +0 -8
  362. package/dist/server/internal/clientCache.d.ts.map +0 -1
  363. package/dist/server/internal/clientCache.js.map +0 -1
  364. package/dist/server/internal/expireAttempt.d.ts +0 -3
  365. package/dist/server/internal/expireAttempt.d.ts.map +0 -1
  366. package/dist/server/internal/listJobs.d.ts +0 -5
  367. package/dist/server/internal/listJobs.d.ts.map +0 -1
  368. package/dist/server/internal/listJobs.js +0 -75
  369. package/dist/server/internal/listJobs.js.map +0 -1
  370. package/dist/server/internal/observeTestingSettlements.d.ts +0 -6
  371. package/dist/server/internal/observeTestingSettlements.d.ts.map +0 -1
  372. package/dist/server/internal/observeTestingSettlements.js.map +0 -1
  373. package/dist/server/internal/settleDeferral.d.ts +0 -7
  374. package/dist/server/internal/settleDeferral.d.ts.map +0 -1
  375. package/dist/server/internal/settleDeferral.js.map +0 -1
  376. package/dist/server/internal/testingClient.d.ts +0 -13
  377. package/dist/server/internal/testingClient.d.ts.map +0 -1
  378. package/dist/server/internal/testingClient.js.map +0 -1
  379. package/src/server/internal/listJobs.ts +0 -116
  380. /package/dist/server/{defaultClientFactory.js → adapters/defaultClientFactory.js} +0 -0
  381. /package/dist/server/{internal → adapters}/observeTestingSettlements.js +0 -0
@@ -0,0 +1,50 @@
1
+ import { Effect } from "effect";
2
+ import { toPgBossError } from "#server/error.ts";
3
+ import { deferralObservers } from "#server/internal/deferral.ts";
4
+ import { listJobs } from "./listJobs.js";
5
+ import { queueAdministration } from "./queueAdministration.js";
6
+ import { settleDeferral } from "./settleDeferral.js";
7
+ export function jobEngine(client, schema = "pgboss") {
8
+ return {
9
+ ...queueAdministration(client),
10
+ getJob: (queue, id) => Effect.tryPromise({
11
+ catch: (error) => toPgBossError("getJob", error, queue),
12
+ try: async () => {
13
+ if (client.findJobs === undefined) {
14
+ throw new TypeError("This pg-boss client does not support findJobs");
15
+ }
16
+ return (await client.findJobs(queue, { id }))[0];
17
+ },
18
+ }),
19
+ listJobs: listJobs(client, schema),
20
+ retry: (queue, id) => Effect.tryPromise({
21
+ catch: (error) => toPgBossError("retry", error, queue),
22
+ try: async () => {
23
+ if (client.findJobs === undefined || client.retry === undefined || client.update === undefined) {
24
+ throw new TypeError("This pg-boss client does not support findJobs, retry and update");
25
+ }
26
+ const job = (await client.findJobs(queue, { id }))[0];
27
+ if (job?.state !== "failed" && job?.state !== "retry") {
28
+ return;
29
+ }
30
+ if (job.state === "failed") {
31
+ await client.retry(queue, id);
32
+ }
33
+ await client.update(queue, undefined, { id, startAfter: 0 });
34
+ },
35
+ }),
36
+ settleDeferral: (job, at, reason, maxDeferrals) => Effect.tryPromise({
37
+ catch: (error) => toPgBossError("settle", error, job.name),
38
+ try: () => settleDeferral(client, schema, job, at, reason, maxDeferrals),
39
+ }).pipe(Effect.tap((settled) => Effect.sync(() => {
40
+ if (!settled.claimed || settled.deferred) {
41
+ // Native batch settlement must not match a sibling's new claim at the unchanged retry count.
42
+ job.retryCount = Number.MAX_SAFE_INTEGER;
43
+ }
44
+ if (settled.deferred) {
45
+ deferralObservers.get(client)?.();
46
+ }
47
+ }))),
48
+ };
49
+ }
50
+ //# sourceMappingURL=jobEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobEngine.js","sourceRoot":"","sources":["../../../src/server/adapters/jobEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type Context } from "effect";
2
+ import type { PgBossClient } from "#server/client.ts";
3
+ import type { StopOptions } from "#server/clientOptions.ts";
4
+ import type { ClientEngine } from "#server/internal/lifecycle.ts";
5
+ export interface StartingClient {
6
+ readonly client: PgBossClient;
7
+ readonly ready: Promise<void>;
8
+ readonly stop: (options?: StopOptions) => Promise<void>;
9
+ }
10
+ export declare const clientEngine: Context.Service.Shape<typeof ClientEngine>;
11
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,QAAQ,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,KAAK,EAAwB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIxF,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAoDD,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,YAAY,CAAe,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { Effect, Exit, Scope } from "effect";
2
+ import { PgBossClientOptionsError, toPgBossError } from "#server/error.ts";
3
+ import { observeClientErrors } from "#server/internal/clientErrors.ts";
4
+ import { jobStorePlans } from "#server/internal/jobStorePlans.ts";
5
+ import { acquireCachedClient, releaseCachedClient } from "./clientCache.js";
6
+ import { defaultClientFactory } from "./defaultClientFactory.js";
7
+ function startClient(options, report) {
8
+ const client = (options.clientFactory ?? defaultClientFactory)(options.constructor);
9
+ observeClientErrors(client, report);
10
+ let closing = false;
11
+ const ready = (async () => {
12
+ await client.start();
13
+ if (!closing && options.constructor.migrate !== false && client.getDb !== undefined) {
14
+ for (const plan of jobStorePlans(options.constructor.schema ?? "pgboss")) {
15
+ await client.getDb().executeSql(plan);
16
+ }
17
+ }
18
+ })();
19
+ return {
20
+ client,
21
+ ready,
22
+ stop: (settings) => {
23
+ closing = true;
24
+ return client.stop(settings);
25
+ },
26
+ };
27
+ }
28
+ const acquire = Effect.fnUntraced(function* (options, report, stop) {
29
+ const scope = yield* Scope.fork(yield* Scope.Scope);
30
+ return yield* Effect.gen(function* () {
31
+ const lease = yield* Effect.acquireRelease(Effect.try({
32
+ catch: (error) => (error instanceof PgBossClientOptionsError ? error : toPgBossError("start", error)),
33
+ try: () => options.clientCacheKey === undefined
34
+ ? { ...startClient(options, report), reused: false }
35
+ : acquireCachedClient(options.clientCacheKey, options.constructor, () => startClient(options, report)),
36
+ }), (acquired) => Effect.tryPromise({
37
+ catch: (error) => toPgBossError("stop", error),
38
+ try: async () => {
39
+ const client = options.clientCacheKey === undefined ? acquired : releaseCachedClient(options.clientCacheKey);
40
+ await client?.stop(stop);
41
+ },
42
+ }).pipe(Effect.catch(Effect.logError)));
43
+ yield* Effect.tryPromise({ catch: (error) => toPgBossError("start", error), try: () => lease.ready });
44
+ return { ...(options.clientCacheKey === undefined ? {} : { cacheKey: options.clientCacheKey }), client: lease.client, reused: lease.reused };
45
+ }).pipe(Effect.provideService(Scope.Scope, scope), Effect.onError((cause) => Scope.close(scope, Exit.failCause(cause))));
46
+ });
47
+ export const clientEngine = { acquire };
48
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/server/adapters/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Context } from "effect";
2
+ import type { PgBossClient } from "#server/client.ts";
3
+ import type { JobEngine } from "#server/internal/engine.ts";
4
+ export declare function listJobs(client: PgBossClient, schema: string): Context.Service.Shape<typeof JobEngine>["listJobs"];
5
+ //# sourceMappingURL=listJobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listJobs.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/listJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,CAAC,CAmClH"}
@@ -0,0 +1,37 @@
1
+ import { Effect } from "effect";
2
+ import { toPgBossError } from "#server/error.ts";
3
+ import { deadLetterQueueName } from "#server/health.ts";
4
+ import { quotedSchema } from "#server/internal/storedRows.ts";
5
+ export function listJobs(client, schema) {
6
+ return (listing, queue, after, limit) => Effect.tryPromise({
7
+ catch: (error) => toPgBossError(listing, error, queue),
8
+ try: async () => {
9
+ if (client.getDb === undefined) {
10
+ throw new TypeError("This pg-boss client does not support getDb");
11
+ }
12
+ const quoted = quotedSchema(schema);
13
+ const { rows: storedRows } = await client.getDb().executeSql(`SELECT
14
+ id,
15
+ name AS queue,
16
+ state,
17
+ retry_count AS "retryCount",
18
+ retry_limit AS "retryLimit",
19
+ created_on AS "createdOn",
20
+ started_on AS "startedOn",
21
+ completed_on AS "completedOn",
22
+ output,
23
+ data,
24
+ source_id AS "sourceId",
25
+ source_output AS "sourceOutput",
26
+ to_json(created_on) #>> '{}' AS "cursorAt"
27
+ FROM ${quoted}.job
28
+ WHERE name = $1
29
+ ${listing === "failedJobs" ? "AND state = 'failed'" : ""}
30
+ AND ($2::timestamptz IS NULL OR (created_on, id) < ($2::timestamptz, $3::uuid))
31
+ ORDER BY created_on DESC, id DESC
32
+ LIMIT $4`, [listing === "failedJobs" ? queue : deadLetterQueueName(queue), after?.[0] ?? null, after?.[1] ?? null, limit + 1]);
33
+ return storedRows;
34
+ },
35
+ });
36
+ }
37
+ //# sourceMappingURL=listJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listJobs.js","sourceRoot":"","sources":["../../../src/server/adapters/listJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,QAAQ,CAAC,MAAoB,EAAE,MAAc;IAC5D,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACvC,MAAM,CAAC,UAAU,CAAC;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;QACtD,GAAG,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,CAC3D;;;;;;;;;;;;;;WAcM,MAAM;;OAEV,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;;;aAGhD,EACR,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAClH,CAAC;YACF,OAAO,UAAU,CAAC;QACnB,CAAC;KACD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { EngineClient } from "#server/engineClient.ts";
2
+ export declare function observeTestingSettlements(client: EngineClient, settled: (name: string) => void): {
3
+ close(): void;
4
+ watch(name: string): void;
5
+ };
6
+ //# sourceMappingURL=observeTestingSettlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observeTestingSettlements.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/observeTestingSettlements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAG7F,KAAK;IAML,KAAK,OAAO,MAAM;EAwBnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observeTestingSettlements.js","sourceRoot":"","sources":["../../../src/server/adapters/observeTestingSettlements.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,MAAoB,EAAE,OAA+B;IAC9F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAChD,OAAO;QACN,KAAK;YACJ,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;YACT,CAAC;YACD,SAAS,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,IAAY;YACjB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO;YACR,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,KAAK,UAAU,OAAO;gBACrB,OAAO,IAAI,EAAE,CAAC;oBACb,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACX,OAAO;oBACR,CAAC;oBACD,iGAAiG;oBACjG,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;YACF,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,IAAI,GAAG,KAAK,CAAC;gBACb,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;YACH,KAAK,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PgBossClient } from "#server/client.ts";
2
+ import type { PgBossService } from "#server/service.ts";
3
+ export declare function queueAdministration(client: PgBossClient): Pick<PgBossService, "deleteQueue" | "refreshQueueStats" | "unschedule">;
4
+ //# sourceMappingURL=queueAdministration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queueAdministration.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/queueAdministration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,mBAAmB,GAAG,YAAY,CAAC,CAyCjI"}
@@ -0,0 +1,42 @@
1
+ import { Effect } from "effect";
2
+ import { PgBossNotFoundError, toPgBossError } from "#server/error.ts";
3
+ export function queueAdministration(client) {
4
+ return {
5
+ deleteQueue: (queue) => Effect.tryPromise({
6
+ catch: (error) => (error instanceof PgBossNotFoundError ? error : toPgBossError("deleteQueue", error, queue.name)),
7
+ try: async () => {
8
+ if (client.deleteQueue === undefined) {
9
+ throw new TypeError("This pg-boss client does not support deleteQueue");
10
+ }
11
+ if ((await client.getQueue(queue.name)) === null) {
12
+ throw new PgBossNotFoundError({ operation: "deleteQueue", queue: queue.name });
13
+ }
14
+ await client.offWork(queue.name);
15
+ await client.deleteQueue(queue.name);
16
+ },
17
+ }),
18
+ refreshQueueStats: (queue) => Effect.tryPromise({
19
+ catch: (error) => toPgBossError("refreshQueueStats", error, queue?.name),
20
+ try: async () => {
21
+ if (client.supervise === undefined) {
22
+ throw new TypeError("This pg-boss client does not support supervise");
23
+ }
24
+ await client.supervise(queue?.name);
25
+ },
26
+ }),
27
+ unschedule: (schedule) => Effect.tryPromise({
28
+ catch: (error) => (error instanceof PgBossNotFoundError ? error : toPgBossError("unschedule", error, schedule.name)),
29
+ try: async () => {
30
+ if (client.getSchedule === undefined || client.unschedule === undefined) {
31
+ throw new TypeError("This pg-boss client does not support getSchedule and unschedule");
32
+ }
33
+ const key = schedule.scheduleOptions.key ?? "";
34
+ if ((await client.getSchedule(schedule.name, key)) === null) {
35
+ throw new PgBossNotFoundError({ key, operation: "unschedule", queue: schedule.name });
36
+ }
37
+ await client.unschedule(schedule.name, key);
38
+ },
39
+ }),
40
+ };
41
+ }
42
+ //# sourceMappingURL=queueAdministration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queueAdministration.js","sourceRoot":"","sources":["../../../src/server/adapters/queueAdministration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtE,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACvD,OAAO;QACN,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,MAAM,CAAC,UAAU,CAAC;YACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClH,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClD,MAAM,IAAI,mBAAmB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;SACD,CAAC;QACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5B,MAAM,CAAC,UAAU,CAAC;YACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YACxE,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;SACD,CAAC;QACH,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxB,MAAM,CAAC,UAAU,CAAC;YACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpH,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACzE,MAAM,IAAI,SAAS,CAAC,iEAAiE,CAAC,CAAC;gBACxF,CAAC;gBACD,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC7D,MAAM,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;SACD,CAAC;KACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { Effect, Scope } from "effect";
2
- import type { Job, StopOptions, WorkOptions } from "pg-boss";
3
- import type { PgBossClient } from "#client.ts";
4
- export declare const registerWorker: <R>(client: PgBossClient, name: string, options: WorkOptions, run: (job: Job<unknown>, deadline: number) => Effect.Effect<unknown, unknown, R>, scope: Scope.Scope, schema: string, maxDeferrals: number, stop?: StopOptions | undefined) => Effect.Effect<string, import("#error.ts").PgBossError, R>;
2
+ import type { PgBossClient } from "#server/client.ts";
3
+ import type { StopOptions } from "#server/clientOptions.ts";
4
+ import type { WorkerJob } from "#server/job.ts";
5
+ import type { WorkerOptions } from "#server/workerOptions.ts";
6
+ export declare const registerWorker: <R>(client: PgBossClient, name: string, options: WorkerOptions, run: (job: WorkerJob<unknown>, deadline: number) => Effect.Effect<unknown, unknown, R>, scope: Scope.Scope, schema: string, maxDeferrals: number, stop?: StopOptions | undefined) => Effect.Effect<string, import("#server/error.ts").PgBossError, R>;
5
7
  //# sourceMappingURL=registerWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerWorker.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/registerWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO/C,eAAO,MAAM,cAAc,GAAgC,CAAC,uEAIhD,GAAG,CAAC,OAAO,CAAC,YAAY,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,wJAqD/E,CAAC"}
1
+ {"version":3,"file":"registerWorker.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/registerWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,eAAO,MAAM,cAAc,GAAgC,CAAC,yEAIhD,SAAS,CAAC,OAAO,CAAC,YAAY,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,+JAsDrF,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { Effect, Fiber, Scope } from "effect";
2
- import { toPgBossError } from "#error.ts";
3
- import { batchHandler } from "#internal/batchHandler.ts";
4
- import { deferrableAttempt } from "#internal/deferrableAttempt.ts";
5
- import { retryWake } from "#internal/retryWake.ts";
6
- import { traceJob } from "#internal/tracing.ts";
2
+ import { batchHandler } from "#server/adapters/batchHandler.ts";
3
+ import { toPgBossError } from "#server/error.ts";
4
+ import { deferrableAttempt } from "#server/internal/deferrableAttempt.ts";
5
+ import { JobEngine } from "#server/internal/engine.ts";
6
+ import { retryWake } from "#server/internal/retryWake.ts";
7
+ import { traceJob } from "#server/internal/tracing.ts";
8
+ import { jobEngine } from "./jobEngine.js";
7
9
  export const registerWorker = Effect.fnUntraced(function* (client, name, options, run, scope, schema, maxDeferrals, stop) {
8
10
  const execute = Effect.runPromiseWith(yield* Effect.context());
9
11
  const workerScope = yield* Scope.fork(scope);
10
12
  const fibers = yield* Scope.fork(workerScope);
13
+ const engine = jobEngine(client, schema);
11
14
  function runJob(job, deadline) {
12
- return traceJob(deferrableAttempt(run(job, deadline), client, schema, job, maxDeferrals), job, name);
15
+ return traceJob(deferrableAttempt(run(job, deadline), job, maxDeferrals).pipe(Effect.provideService(JobEngine, engine)), job, name);
13
16
  }
14
17
  function afterRetry(attempt) {
15
18
  return retryWake(client, schema, name, attempt.id, registration).pipe(Effect.forkIn(fibers), Effect.asVoid);
@@ -1 +1 @@
1
- {"version":3,"file":"registerWorker.js","sourceRoot":"","sources":["../../../src/server/adapters/registerWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerWorker.js","sourceRoot":"","sources":["../../../src/server/adapters/registerWorker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Effect } from "effect";
2
- import type { PgBossClient } from "#client.ts";
3
- import type { JobRegistration } from "#definition.ts";
4
- export declare const retireJobs: (client: PgBossClient, jobs: readonly JobRegistration[], retired: readonly string[]) => Effect.Effect<void, import("#error.ts").PgBossError, never>;
2
+ import type { PgBossClient } from "#server/client.ts";
3
+ import type { JobRegistration } from "#server/definition.ts";
4
+ export declare const retireJobs: (client: PgBossClient, jobs: readonly JobRegistration[], retired: readonly string[]) => Effect.Effect<void, import("#server/error.ts").PgBossError, never>;
5
5
  //# sourceMappingURL=retireJobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retireJobs.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/retireJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKtD,eAAO,MAAM,UAAU,qJAsBrB,CAAC"}
1
+ {"version":3,"file":"retireJobs.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/retireJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,eAAO,MAAM,UAAU,4JAsBrB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Effect } from "effect";
2
- import { toPgBossError } from "#error.ts";
3
- import { deadLetterQueueName } from "#health.ts";
4
- import { registrationNames } from "#internal/register.ts";
2
+ import { toPgBossError } from "#server/error.ts";
3
+ import { deadLetterQueueName } from "#server/health.ts";
4
+ import { registrationNames } from "#server/internal/register.ts";
5
5
  export const retireJobs = Effect.fnUntraced(function* (client, jobs, retired) {
6
6
  yield* Effect.try({
7
7
  catch: (error) => toPgBossError("register", error),
@@ -1 +1 @@
1
- {"version":3,"file":"retireJobs.js","sourceRoot":"","sources":["../../../src/server/adapters/retireJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAoB,EAAE,IAAgC,EAAE,OAA0B;IACxI,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC;QAClD,GAAG,EAAE,GAAG,EAAE;YACT,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAC;YAC5F,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;YACxD,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"retireJobs.js","sourceRoot":"","sources":["../../../src/server/adapters/retireJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAoB,EAAE,IAAgC,EAAE,OAA0B;IACxI,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC;QAClD,GAAG,EAAE,GAAG,EAAE;YACT,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAC;YAC5F,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;YACxD,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PgBoss } from "pg-boss";
1
+ import type { EngineClient } from "#server/engineClient.ts";
2
2
  export declare function pendingIndexInserts(schema: string, version: number, commands: readonly string[], quote: (text: string) => string): string;
3
- export declare function resumeSchemaIndexes(client: PgBoss, schema: string): Promise<void>;
3
+ export declare function resumeSchemaIndexes(client: EngineClient, schema: string): Promise<void>;
4
4
  //# sourceMappingURL=schemaIndexBuilds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaIndexBuilds.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/schemaIndexBuilds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAmBtC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAQzI;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF"}
1
+ {"version":3,"file":"schemaIndexBuilds.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/schemaIndexBuilds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmB5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAQzI;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemaIndexBuilds.js","sourceRoot":"","sources":["../../../src/server/adapters/schemaIndexBuilds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/F,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAE/E,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,SAAS,SAAS,CAAC,OAAe;IACjC,MAAM,KAAK,GACV,oIAAoI,CAAC,IAAI,CACxI,OAAO,CACP,CAAC;IACH,MAAM,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAe,EAAE,QAA2B,EAAE,KAA+B;IAChI,OAAO,QAAQ;SACb,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,eAAe,MAAM,qDAAqD,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAClJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,MAAc;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,UAAU,CACnC,2BAA2B,MAAM,sFAAsF,EACvH,CAAC,YAAY,CAAC,CACd,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,mFAAmF,EAAE,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9I,IAAI,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC9E,MAAM,EAAE,CAAC,UAAU,CAAC,qCAAqC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,MAAM,+EAA+E,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChI,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"schemaIndexBuilds.js","sourceRoot":"","sources":["../../../src/server/adapters/schemaIndexBuilds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/F,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAE/E,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,SAAS,SAAS,CAAC,OAAe;IACjC,MAAM,KAAK,GACV,oIAAoI,CAAC,IAAI,CACxI,OAAO,CACP,CAAC;IACH,MAAM,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAe,EAAE,QAA2B,EAAE,KAA+B;IAChI,OAAO,QAAQ;SACb,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,eAAe,MAAM,qDAAqD,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAClJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAoB,EAAE,MAAc;IAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,UAAU,CACnC,2BAA2B,MAAM,sFAAsF,EACvH,CAAC,YAAY,CAAC,CACd,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,mFAAmF,EAAE,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9I,IAAI,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC9E,MAAM,EAAE,CAAC,UAAU,CAAC,qCAAqC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,MAAM,+EAA+E,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChI,CAAC;AACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PgBossClient } from "#server/client.ts";
2
+ import type { JobAttempt } from "#server/internal/engine.ts";
3
+ export declare function settleDeferral(client: PgBossClient, schema: string, job: JobAttempt, at: string, reason: string, maxDeferrals: number): Promise<{
4
+ readonly claimed: boolean;
5
+ readonly deferred: boolean;
6
+ }>;
7
+ //# sourceMappingURL=settleDeferral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settleDeferral.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/settleDeferral.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAK7D,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;GA6C3I"}
@@ -1,6 +1,6 @@
1
1
  import { Schema } from "effect";
2
- import { STATELY_DEFERRAL_POLICY } from "#internal/deferral.ts";
3
- import { quotedSchema } from "#internal/storedRows.ts";
2
+ import { STATELY_DEFERRAL_POLICY } from "#server/internal/deferral.ts";
3
+ import { quotedSchema } from "#server/internal/storedRows.ts";
4
4
  const Settlement = Schema.Struct({ claimed: Schema.Boolean, deferred: Schema.Boolean });
5
5
  export async function settleDeferral(client, schema, job, at, reason, maxDeferrals) {
6
6
  if (client.getDb === undefined) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settleDeferral.js","sourceRoot":"","sources":["../../../src/server/adapters/settleDeferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAoB,EAAE,MAAc,EAAE,GAAe,EAAE,EAAU,EAAE,MAAc,EAAE,YAAoB;IAC3I,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,gHAAgH;IAChH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,CAC/C;;;UAGQ,MAAM;;;;;iBAKC,MAAM;;;;;;;;YAQX,MAAM;sDACoC,uBAAuB;;;;;;iBAM5D,MAAM;uCACgB,MAAM;kEACqB,MAAM;;;qBAGnD,MAAM;;;;;;gGAMqE,EAC9F,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAC3F,CAAC;IACF,OAAO,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { PgBossClient } from "#server/client.ts";
2
+ import type { EngineClient } from "#server/engineClient.ts";
3
+ import type { EnqueueOptions } from "#server/enqueueOptions.ts";
4
+ import type { TestingWork } from "#server/internal/testingIdle.ts";
5
+ export interface TestingControls {
6
+ readonly changed: () => void;
7
+ readonly expirations: Map<string, number>;
8
+ readonly expirySeconds: Map<string, number>;
9
+ readonly failures: Set<string>;
10
+ readonly retryPolicy: Pick<EnqueueOptions, "retryBackoff" | "retryDelay">;
11
+ readonly work: TestingWork;
12
+ }
13
+ export declare function testingClient(client: EngineClient, schema: string, controls: TestingControls): PgBossClient;
14
+ //# sourceMappingURL=testingClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingClient.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/testingClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAIjF,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;IAC1E,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,YAAY,CAyH3G"}
@@ -1,17 +1,18 @@
1
- import { testingExpirations } from "#adapters/testingExpirations.ts";
2
- import { deferralObservers } from "#internal/deferral.ts";
3
- import { expireAttempt } from "#internal/expireAttempt.ts";
4
- import { observeTestingSettlements } from "#internal/observeTestingSettlements.ts";
5
- import { testingRegistration } from "#internal/testingRegistrations.ts";
1
+ import { Effect } from "effect";
2
+ import { testingEngine } from "#server/adapters/testingEngine.ts";
3
+ import { testingExpirations } from "#server/adapters/testingExpirations.ts";
4
+ import { deferralObservers } from "#server/internal/deferral.ts";
5
+ import { testingRegistration } from "#server/internal/testingRegistrations.ts";
6
6
  export function testingClient(client, schema, controls) {
7
- const settlements = observeTestingSettlements(client, (name) => {
7
+ const engine = testingEngine(client, schema);
8
+ const settlements = Effect.runSync(engine.observeSettlements((name) => {
8
9
  for (const batch of controls.work.batches) {
9
10
  if (batch.name === name) {
10
11
  batch.settled = true;
11
12
  }
12
13
  }
13
14
  controls.changed();
14
- });
15
+ }));
15
16
  const expirations = testingExpirations(client);
16
17
  async function update(request, data, options) {
17
18
  const result = typeof request === "string" ? await client.update(request, data, options) : await client.update(request);
@@ -64,7 +65,7 @@ export function testingClient(client, schema, controls) {
64
65
  await client.stop(options);
65
66
  }
66
67
  finally {
67
- settlements.close();
68
+ await Effect.runPromise(settlements.close);
68
69
  }
69
70
  },
70
71
  update,
@@ -73,8 +74,8 @@ export function testingClient(client, schema, controls) {
73
74
  ...controls.retryPolicy,
74
75
  ...(controls.retryPolicy.retryBackoff === false ? { retryDelayMax: null } : {}),
75
76
  }),
76
- work: (name, options, handler) => {
77
- settlements.watch(name);
77
+ work: async (name, options, handler) => {
78
+ await Effect.runPromise(settlements.watch(name));
78
79
  return client.work(name, options, async (jobs) => {
79
80
  const batch = { name, settled: false };
80
81
  controls.work.batches.add(batch);
@@ -84,7 +85,7 @@ export function testingClient(client, schema, controls) {
84
85
  for (const job of jobs) {
85
86
  const attempts = await expirations.attemptsFor(job);
86
87
  if (attempts !== undefined && job.retryCount + 1 >= attempts) {
87
- await expireAttempt(client, schema, job);
88
+ await Effect.runPromise(engine.expireAttempt(job));
88
89
  }
89
90
  else {
90
91
  ready.push(job);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingClient.js","sourceRoot":"","sources":["../../../src/server/adapters/testingClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { Duration, Effect } from "effect";
2
+ import type { PgBossClientFactory } from "#server/client.ts";
3
+ import type { QueueDefinition } from "#server/definition.ts";
4
+ import { PgBossTestingError } from "#server/error.ts";
5
+ import type { PgBossTestingOptions } from "#server/testing.ts";
6
+ export declare function testingController(options?: PgBossTestingOptions): {
7
+ runDeferredNow: (queue: Pick<QueueDefinition, "name">) => Effect.Effect<void, PgBossTestingError, never>;
8
+ runDueNow: (queue: Pick<QueueDefinition, "name">) => Effect.Effect<void, PgBossTestingError, never>;
9
+ deferred: (queue: Pick<QueueDefinition, "name">) => Effect.Effect<{
10
+ at: import("effect/DateTime").Utc;
11
+ reason: string;
12
+ }[], PgBossTestingError, never>;
13
+ schedules: () => Effect.Effect<{
14
+ cron: string;
15
+ name: string;
16
+ timezone: string;
17
+ }[], PgBossTestingError, never>;
18
+ trigger: (schedule: Pick<import("#server/definition.ts").ScheduleDefinition, "name" | "scheduleOptions">) => Effect.Effect<void, PgBossTestingError, never>;
19
+ fetchesPass: (queue: Pick<QueueDefinition, "name">, count: number, options?: import("#server/testing.ts").PgBossTestingWaitOptions) => Effect.Effect<unknown, PgBossTestingError | import("#server/error.ts").PgBossWaitError, never>;
20
+ untilJob: <TName extends string, TPayload extends import("#server/definition.ts").JobPayloadSchema>(queue: Pick<QueueDefinition<TName, TPayload>, "name" | "schema">, id: string, state: import("../job.ts").JobState, options?: import("#server/testing.ts").PgBossTestingWaitOptions) => Effect.Effect<import("../job.ts").Job<TPayload["Type"]>, import("#server/error.ts").PgBossPayloadError | PgBossTestingError | import("#server/error.ts").PgBossWaitError, Exclude<TPayload["DecodingServices"], never>>;
21
+ checkBatchWindow: (queue: Pick<QueueDefinition, "name" | "workerOptions">, millisecondsPerJob: number) => Effect.Effect<void, PgBossTestingError, never>;
22
+ checkSchemaVersion: (expected: number) => Effect.Effect<void, PgBossTestingError, never>;
23
+ clientFactory: PgBossClientFactory;
24
+ expireAfter: (queue: Pick<QueueDefinition, "name">, attempts: number) => Effect.Effect<void, PgBossTestingError, never>;
25
+ expireIn: (queue: Pick<QueueDefinition, "name">, duration: Duration.Input) => Effect.Effect<void, PgBossTestingError, never>;
26
+ failNextSend: (queue: Pick<QueueDefinition, "name">) => Effect.Effect<void, never, never>;
27
+ jobs: <TName extends string, TPayload extends import("#server/definition.ts").JobPayloadSchema>(queue: QueueDefinition<TName, TPayload>, options?: import("#server/client.ts").JobReadOptions) => Effect.Effect<import("../job.ts").Job<TPayload["Type"]>[], PgBossTestingError | import("#server/error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
28
+ revision: Effect.Effect<number, never, never>;
29
+ schemaVersion: Effect.Effect<number | null, PgBossTestingError, never>;
30
+ snapshot: <const TQueues extends readonly import("#server/testing.ts").SnapshotQueue[]>(queues: TQueues) => Effect.Effect<readonly import("#server/testing.ts").UnfinishedJob<TQueues[number]>[], import("#server/error.ts").PgBossPayloadError | PgBossTestingError, TQueues[number]["schema"]["DecodingServices"]>;
31
+ waitForChange: (after: number) => Effect.Effect<number>;
32
+ waitForIdle: Effect.Effect<void, PgBossTestingError, never>;
33
+ };
34
+ //# sourceMappingURL=testingController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingController.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/testingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAIpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAStD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,oBAAyB;;;;;;;;;;;;;;;8BAkCxC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC,sBAAsB,MAAM;mCAqBtE,MAAM;;yBAOhB,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,MAAM;sBAUlD,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,QAAQ,CAAC,KAAK;0BAWnD,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;;;;;;;EAQpD"}