agenda 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/LICENSE.md +4 -0
  2. package/README.md +222 -1063
  3. package/dist/Job.d.ts +190 -0
  4. package/dist/Job.js +568 -0
  5. package/dist/Job.js.map +1 -0
  6. package/dist/JobProcessingQueue.d.ts +47 -0
  7. package/dist/JobProcessingQueue.js +101 -0
  8. package/dist/JobProcessingQueue.js.map +1 -0
  9. package/dist/JobProcessor.d.ts +70 -0
  10. package/dist/JobProcessor.js +458 -0
  11. package/dist/JobProcessor.js.map +1 -0
  12. package/dist/backends/index.d.ts +18 -0
  13. package/dist/backends/index.js +20 -0
  14. package/dist/backends/index.js.map +1 -0
  15. package/dist/decorators/Define.d.ts +33 -0
  16. package/dist/decorators/Define.js +44 -0
  17. package/dist/decorators/Define.js.map +1 -0
  18. package/dist/decorators/Every.d.ts +43 -0
  19. package/dist/decorators/Every.js +55 -0
  20. package/dist/decorators/Every.js.map +1 -0
  21. package/dist/decorators/JobsController.d.ts +43 -0
  22. package/dist/decorators/JobsController.js +37 -0
  23. package/dist/decorators/JobsController.js.map +1 -0
  24. package/dist/decorators/index.d.ts +41 -0
  25. package/dist/decorators/index.js +46 -0
  26. package/dist/decorators/index.js.map +1 -0
  27. package/dist/decorators/metadata.d.ts +50 -0
  28. package/dist/decorators/metadata.js +35 -0
  29. package/dist/decorators/metadata.js.map +1 -0
  30. package/dist/decorators/register.d.ts +52 -0
  31. package/dist/decorators/register.js +139 -0
  32. package/dist/decorators/register.js.map +1 -0
  33. package/dist/index.d.ts +359 -8
  34. package/dist/index.js +532 -20
  35. package/dist/index.js.map +1 -1
  36. package/dist/notifications/BaseNotificationChannel.d.ts +36 -0
  37. package/dist/notifications/BaseNotificationChannel.js +80 -0
  38. package/dist/notifications/BaseNotificationChannel.js.map +1 -0
  39. package/dist/notifications/InMemoryNotificationChannel.d.ts +12 -0
  40. package/dist/notifications/InMemoryNotificationChannel.js +26 -0
  41. package/dist/notifications/InMemoryNotificationChannel.js.map +1 -0
  42. package/dist/notifications/index.d.ts +2 -0
  43. package/dist/notifications/index.js +3 -0
  44. package/dist/notifications/index.js.map +1 -0
  45. package/dist/types/AgendaBackend.d.ts +53 -0
  46. package/dist/types/AgendaBackend.js +2 -0
  47. package/dist/types/AgendaBackend.js.map +1 -0
  48. package/dist/types/AgendaConfig.d.ts +9 -0
  49. package/dist/types/AgendaConfig.js +2 -0
  50. package/dist/types/AgendaConfig.js.map +1 -0
  51. package/dist/types/AgendaStatus.d.ts +32 -0
  52. package/dist/types/AgendaStatus.js +2 -0
  53. package/dist/types/AgendaStatus.js.map +1 -0
  54. package/dist/types/DbOptions.d.ts +4 -0
  55. package/dist/types/DbOptions.js +2 -0
  56. package/dist/types/DbOptions.js.map +1 -0
  57. package/dist/types/JobDefinition.d.ts +40 -0
  58. package/dist/types/JobDefinition.js +2 -0
  59. package/dist/types/JobDefinition.js.map +1 -0
  60. package/dist/types/JobParameters.d.ts +106 -0
  61. package/dist/types/JobParameters.js +17 -0
  62. package/dist/types/JobParameters.js.map +1 -0
  63. package/dist/types/JobQuery.d.ts +79 -0
  64. package/dist/types/JobQuery.js +33 -0
  65. package/dist/types/JobQuery.js.map +1 -0
  66. package/dist/types/JobRepository.d.ts +96 -0
  67. package/dist/types/JobRepository.js +2 -0
  68. package/dist/types/JobRepository.js.map +1 -0
  69. package/dist/types/NotificationChannel.d.ts +71 -0
  70. package/dist/types/NotificationChannel.js +2 -0
  71. package/dist/types/NotificationChannel.js.map +1 -0
  72. package/dist/utils/backoff.d.ts +152 -0
  73. package/dist/utils/backoff.js +167 -0
  74. package/dist/utils/backoff.js.map +1 -0
  75. package/dist/utils/dateConstraints.d.ts +48 -0
  76. package/dist/utils/dateConstraints.js +128 -0
  77. package/dist/utils/dateConstraints.js.map +1 -0
  78. package/dist/utils/isValidDate.d.ts +1 -0
  79. package/dist/utils/isValidDate.js +5 -0
  80. package/dist/utils/isValidDate.js.map +1 -0
  81. package/dist/utils/nextRunAt.d.ts +10 -0
  82. package/dist/utils/nextRunAt.js +110 -0
  83. package/dist/utils/nextRunAt.js.map +1 -0
  84. package/dist/utils/priority.d.ts +13 -0
  85. package/dist/utils/priority.js +20 -0
  86. package/dist/utils/priority.js.map +1 -0
  87. package/dist/utils/processEvery.d.ts +1 -0
  88. package/dist/utils/processEvery.js +7 -0
  89. package/dist/utils/processEvery.js.map +1 -0
  90. package/dist/utils/stack.d.ts +1 -0
  91. package/dist/utils/stack.js +18 -0
  92. package/dist/utils/stack.js.map +1 -0
  93. package/package.json +40 -76
  94. package/History.md +0 -617
  95. package/dist/agenda/cancel.d.ts +0 -11
  96. package/dist/agenda/cancel.d.ts.map +0 -1
  97. package/dist/agenda/cancel.js +0 -41
  98. package/dist/agenda/cancel.js.map +0 -1
  99. package/dist/agenda/close.d.ts +0 -17
  100. package/dist/agenda/close.d.ts.map +0 -1
  101. package/dist/agenda/close.js +0 -47
  102. package/dist/agenda/close.js.map +0 -1
  103. package/dist/agenda/create.d.ts +0 -11
  104. package/dist/agenda/create.d.ts.map +0 -1
  105. package/dist/agenda/create.js +0 -27
  106. package/dist/agenda/create.js.map +0 -1
  107. package/dist/agenda/database.d.ts +0 -20
  108. package/dist/agenda/database.d.ts.map +0 -1
  109. package/dist/agenda/database.js +0 -56
  110. package/dist/agenda/database.js.map +0 -1
  111. package/dist/agenda/db-init.d.ts +0 -11
  112. package/dist/agenda/db-init.d.ts.map +0 -1
  113. package/dist/agenda/db-init.js +0 -40
  114. package/dist/agenda/db-init.js.map +0 -1
  115. package/dist/agenda/default-concurrency.d.ts +0 -9
  116. package/dist/agenda/default-concurrency.d.ts.map +0 -1
  117. package/dist/agenda/default-concurrency.js +0 -21
  118. package/dist/agenda/default-concurrency.js.map +0 -1
  119. package/dist/agenda/default-lock-lifetime.d.ts +0 -10
  120. package/dist/agenda/default-lock-lifetime.d.ts.map +0 -1
  121. package/dist/agenda/default-lock-lifetime.js +0 -22
  122. package/dist/agenda/default-lock-lifetime.js.map +0 -1
  123. package/dist/agenda/default-lock-limit.d.ts +0 -10
  124. package/dist/agenda/default-lock-limit.d.ts.map +0 -1
  125. package/dist/agenda/default-lock-limit.js +0 -22
  126. package/dist/agenda/default-lock-limit.js.map +0 -1
  127. package/dist/agenda/define.d.ts +0 -45
  128. package/dist/agenda/define.d.ts.map +0 -1
  129. package/dist/agenda/define.js +0 -44
  130. package/dist/agenda/define.js.map +0 -1
  131. package/dist/agenda/disable.d.ts +0 -11
  132. package/dist/agenda/disable.d.ts.map +0 -1
  133. package/dist/agenda/disable.js +0 -42
  134. package/dist/agenda/disable.js.map +0 -1
  135. package/dist/agenda/drain.d.ts +0 -9
  136. package/dist/agenda/drain.d.ts.map +0 -1
  137. package/dist/agenda/drain.js +0 -46
  138. package/dist/agenda/drain.js.map +0 -1
  139. package/dist/agenda/enable.d.ts +0 -12
  140. package/dist/agenda/enable.d.ts.map +0 -1
  141. package/dist/agenda/enable.js +0 -43
  142. package/dist/agenda/enable.js.map +0 -1
  143. package/dist/agenda/every.d.ts +0 -15
  144. package/dist/agenda/every.d.ts.map +0 -1
  145. package/dist/agenda/every.js +0 -77
  146. package/dist/agenda/every.js.map +0 -1
  147. package/dist/agenda/find-and-lock-next-job.d.ts +0 -13
  148. package/dist/agenda/find-and-lock-next-job.d.ts.map +0 -1
  149. package/dist/agenda/find-and-lock-next-job.js +0 -75
  150. package/dist/agenda/find-and-lock-next-job.js.map +0 -1
  151. package/dist/agenda/has-mongo-protocol.d.ts +0 -7
  152. package/dist/agenda/has-mongo-protocol.d.ts.map +0 -1
  153. package/dist/agenda/has-mongo-protocol.js +0 -13
  154. package/dist/agenda/has-mongo-protocol.js.map +0 -1
  155. package/dist/agenda/index.d.ts +0 -130
  156. package/dist/agenda/index.d.ts.map +0 -1
  157. package/dist/agenda/index.js +0 -128
  158. package/dist/agenda/index.js.map +0 -1
  159. package/dist/agenda/job-processing-queue.d.ts +0 -18
  160. package/dist/agenda/job-processing-queue.d.ts.map +0 -1
  161. package/dist/agenda/job-processing-queue.js +0 -76
  162. package/dist/agenda/job-processing-queue.js.map +0 -1
  163. package/dist/agenda/jobs.d.ts +0 -15
  164. package/dist/agenda/jobs.d.ts.map +0 -1
  165. package/dist/agenda/jobs.js +0 -36
  166. package/dist/agenda/jobs.js.map +0 -1
  167. package/dist/agenda/lock-limit.d.ts +0 -9
  168. package/dist/agenda/lock-limit.d.ts.map +0 -1
  169. package/dist/agenda/lock-limit.js +0 -22
  170. package/dist/agenda/lock-limit.js.map +0 -1
  171. package/dist/agenda/max-concurrency.d.ts +0 -10
  172. package/dist/agenda/max-concurrency.d.ts.map +0 -1
  173. package/dist/agenda/max-concurrency.js +0 -22
  174. package/dist/agenda/max-concurrency.js.map +0 -1
  175. package/dist/agenda/mongo.d.ts +0 -12
  176. package/dist/agenda/mongo.d.ts.map +0 -1
  177. package/dist/agenda/mongo.js +0 -18
  178. package/dist/agenda/mongo.js.map +0 -1
  179. package/dist/agenda/name.d.ts +0 -9
  180. package/dist/agenda/name.d.ts.map +0 -1
  181. package/dist/agenda/name.js +0 -21
  182. package/dist/agenda/name.js.map +0 -1
  183. package/dist/agenda/now.d.ts +0 -11
  184. package/dist/agenda/now.d.ts.map +0 -1
  185. package/dist/agenda/now.js +0 -41
  186. package/dist/agenda/now.js.map +0 -1
  187. package/dist/agenda/process-every.d.ts +0 -9
  188. package/dist/agenda/process-every.d.ts.map +0 -1
  189. package/dist/agenda/process-every.js +0 -23
  190. package/dist/agenda/process-every.js.map +0 -1
  191. package/dist/agenda/purge.d.ts +0 -9
  192. package/dist/agenda/purge.d.ts.map +0 -1
  193. package/dist/agenda/purge.js +0 -33
  194. package/dist/agenda/purge.js.map +0 -1
  195. package/dist/agenda/save-job.d.ts +0 -11
  196. package/dist/agenda/save-job.d.ts.map +0 -1
  197. package/dist/agenda/save-job.js +0 -156
  198. package/dist/agenda/save-job.js.map +0 -1
  199. package/dist/agenda/schedule.d.ts +0 -14
  200. package/dist/agenda/schedule.d.ts.map +0 -1
  201. package/dist/agenda/schedule.js +0 -62
  202. package/dist/agenda/schedule.js.map +0 -1
  203. package/dist/agenda/sort.d.ts +0 -10
  204. package/dist/agenda/sort.d.ts.map +0 -1
  205. package/dist/agenda/sort.js +0 -22
  206. package/dist/agenda/sort.js.map +0 -1
  207. package/dist/agenda/start.d.ts +0 -10
  208. package/dist/agenda/start.d.ts.map +0 -1
  209. package/dist/agenda/start.js +0 -39
  210. package/dist/agenda/start.js.map +0 -1
  211. package/dist/agenda/stop.d.ts +0 -9
  212. package/dist/agenda/stop.d.ts.map +0 -1
  213. package/dist/agenda/stop.js +0 -57
  214. package/dist/agenda/stop.js.map +0 -1
  215. package/dist/cjs.d.ts +0 -2
  216. package/dist/cjs.d.ts.map +0 -1
  217. package/dist/cjs.js +0 -7
  218. package/dist/cjs.js.map +0 -1
  219. package/dist/index.d.ts.map +0 -1
  220. package/dist/job/compute-next-run-at.d.ts +0 -8
  221. package/dist/job/compute-next-run-at.d.ts.map +0 -1
  222. package/dist/job/compute-next-run-at.js +0 -162
  223. package/dist/job/compute-next-run-at.js.map +0 -1
  224. package/dist/job/disable.d.ts +0 -8
  225. package/dist/job/disable.d.ts.map +0 -1
  226. package/dist/job/disable.js +0 -14
  227. package/dist/job/disable.js.map +0 -1
  228. package/dist/job/enable.d.ts +0 -8
  229. package/dist/job/enable.d.ts.map +0 -1
  230. package/dist/job/enable.js +0 -14
  231. package/dist/job/enable.js.map +0 -1
  232. package/dist/job/fail.d.ts +0 -9
  233. package/dist/job/fail.d.ts.map +0 -1
  234. package/dist/job/fail.js +0 -28
  235. package/dist/job/fail.js.map +0 -1
  236. package/dist/job/index.d.ts +0 -142
  237. package/dist/job/index.d.ts.map +0 -1
  238. package/dist/job/index.js +0 -82
  239. package/dist/job/index.js.map +0 -1
  240. package/dist/job/is-running.d.ts +0 -12
  241. package/dist/job/is-running.d.ts.map +0 -1
  242. package/dist/job/is-running.js +0 -27
  243. package/dist/job/is-running.js.map +0 -1
  244. package/dist/job/priority.d.ts +0 -7
  245. package/dist/job/priority.d.ts.map +0 -1
  246. package/dist/job/priority.js +0 -14
  247. package/dist/job/priority.js.map +0 -1
  248. package/dist/job/remove.d.ts +0 -8
  249. package/dist/job/remove.d.ts.map +0 -1
  250. package/dist/job/remove.js +0 -24
  251. package/dist/job/remove.js.map +0 -1
  252. package/dist/job/repeat-at.d.ts +0 -9
  253. package/dist/job/repeat-at.d.ts.map +0 -1
  254. package/dist/job/repeat-at.js +0 -15
  255. package/dist/job/repeat-at.js.map +0 -1
  256. package/dist/job/repeat-every.d.ts +0 -17
  257. package/dist/job/repeat-every.d.ts.map +0 -1
  258. package/dist/job/repeat-every.js +0 -32
  259. package/dist/job/repeat-every.js.map +0 -1
  260. package/dist/job/run.d.ts +0 -8
  261. package/dist/job/run.d.ts.map +0 -1
  262. package/dist/job/run.js +0 -99
  263. package/dist/job/run.js.map +0 -1
  264. package/dist/job/save.d.ts +0 -9
  265. package/dist/job/save.d.ts.map +0 -1
  266. package/dist/job/save.js +0 -25
  267. package/dist/job/save.js.map +0 -1
  268. package/dist/job/schedule.d.ts +0 -9
  269. package/dist/job/schedule.d.ts.map +0 -1
  270. package/dist/job/schedule.js +0 -21
  271. package/dist/job/schedule.js.map +0 -1
  272. package/dist/job/set-shouldsaveresult.d.ts +0 -7
  273. package/dist/job/set-shouldsaveresult.d.ts.map +0 -1
  274. package/dist/job/set-shouldsaveresult.js +0 -13
  275. package/dist/job/set-shouldsaveresult.js.map +0 -1
  276. package/dist/job/to-json.d.ts +0 -9
  277. package/dist/job/to-json.d.ts.map +0 -1
  278. package/dist/job/to-json.js +0 -36
  279. package/dist/job/to-json.js.map +0 -1
  280. package/dist/job/touch.d.ts +0 -8
  281. package/dist/job/touch.d.ts.map +0 -1
  282. package/dist/job/touch.js +0 -25
  283. package/dist/job/touch.js.map +0 -1
  284. package/dist/job/unique.d.ts +0 -12
  285. package/dist/job/unique.d.ts.map +0 -1
  286. package/dist/job/unique.js +0 -17
  287. package/dist/job/unique.js.map +0 -1
  288. package/dist/utils/create-job.d.ts +0 -10
  289. package/dist/utils/create-job.d.ts.map +0 -1
  290. package/dist/utils/create-job.js +0 -16
  291. package/dist/utils/create-job.js.map +0 -1
  292. package/dist/utils/index.d.ts +0 -4
  293. package/dist/utils/index.d.ts.map +0 -1
  294. package/dist/utils/index.js +0 -16
  295. package/dist/utils/index.js.map +0 -1
  296. package/dist/utils/parse-priority.d.ts +0 -6
  297. package/dist/utils/parse-priority.d.ts.map +0 -1
  298. package/dist/utils/parse-priority.js +0 -35
  299. package/dist/utils/parse-priority.js.map +0 -1
  300. package/dist/utils/process-jobs.d.ts +0 -8
  301. package/dist/utils/process-jobs.d.ts.map +0 -1
  302. package/dist/utils/process-jobs.js +0 -308
  303. package/dist/utils/process-jobs.js.map +0 -1
  304. package/es.js +0 -1
  305. package/lib/agenda/cancel.ts +0 -28
  306. package/lib/agenda/close.ts +0 -37
  307. package/lib/agenda/create.ts +0 -22
  308. package/lib/agenda/database.ts +0 -63
  309. package/lib/agenda/db-init.ts +0 -45
  310. package/lib/agenda/default-concurrency.ts +0 -19
  311. package/lib/agenda/default-lock-lifetime.ts +0 -17
  312. package/lib/agenda/default-lock-limit.ts +0 -17
  313. package/lib/agenda/define.ts +0 -85
  314. package/lib/agenda/disable.ts +0 -28
  315. package/lib/agenda/drain.ts +0 -30
  316. package/lib/agenda/enable.ts +0 -29
  317. package/lib/agenda/every.ts +0 -86
  318. package/lib/agenda/find-and-lock-next-job.ts +0 -78
  319. package/lib/agenda/has-mongo-protocol.ts +0 -8
  320. package/lib/agenda/index.ts +0 -227
  321. package/lib/agenda/job-processing-queue.ts +0 -99
  322. package/lib/agenda/jobs.ts +0 -31
  323. package/lib/agenda/lock-limit.ts +0 -17
  324. package/lib/agenda/max-concurrency.ts +0 -20
  325. package/lib/agenda/mongo.ts +0 -21
  326. package/lib/agenda/name.ts +0 -16
  327. package/lib/agenda/now.ts +0 -31
  328. package/lib/agenda/process-every.ts +0 -18
  329. package/lib/agenda/purge.ts +0 -19
  330. package/lib/agenda/save-job.ts +0 -185
  331. package/lib/agenda/schedule.ts +0 -79
  332. package/lib/agenda/sort.ts +0 -17
  333. package/lib/agenda/start.ts +0 -30
  334. package/lib/agenda/stop.ts +0 -49
  335. package/lib/cjs.ts +0 -5
  336. package/lib/index.ts +0 -11
  337. package/lib/job/compute-next-run-at.ts +0 -191
  338. package/lib/job/disable.ts +0 -11
  339. package/lib/job/enable.ts +0 -11
  340. package/lib/job/fail.ts +0 -29
  341. package/lib/job/index.ts +0 -221
  342. package/lib/job/is-running.ts +0 -29
  343. package/lib/job/priority.ts +0 -11
  344. package/lib/job/remove.ts +0 -10
  345. package/lib/job/repeat-at.ts +0 -12
  346. package/lib/job/repeat-every.ts +0 -40
  347. package/lib/job/run.ts +0 -125
  348. package/lib/job/save.ts +0 -11
  349. package/lib/job/schedule.ts +0 -15
  350. package/lib/job/set-shouldsaveresult.ts +0 -10
  351. package/lib/job/to-json.ts +0 -36
  352. package/lib/job/touch.ts +0 -11
  353. package/lib/job/unique.ts +0 -18
  354. package/lib/utils/create-job.ts +0 -13
  355. package/lib/utils/index.ts +0 -3
  356. package/lib/utils/parse-priority.ts +0 -37
  357. package/lib/utils/process-jobs.ts +0 -379
  358. package/tsconfig.json +0 -72
package/LICENSE.md CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
  Copyright (c) 2013 Ryan Schmukler <ryan@slingingcode.com>
5
5
 
6
+ Copyright (c) 2022-2026 Simon Tretter <s.tretter@gmail.com>
7
+
8
+ Contributors: Mikael Korpela, Alexis Tyler, Vasyl Boroviak, Haris Sulaiman, Loris Guignard
9
+
6
10
  Permission is hereby granted, free of charge, to any person obtaining a copy of
7
11
  this software and associated documentation files (the 'Software'), to deal in
8
12
  the Software without restriction, including without limitation the rights to