mongodash 2.6.0 → 2.7.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 (64) hide show
  1. package/README.md +52 -0
  2. package/dist/lib/ConcurrentRunner.js +32 -2
  3. package/dist/lib/ConcurrentRunner.js.map +1 -1
  4. package/dist/lib/createContinuousLock.js +23 -6
  5. package/dist/lib/createContinuousLock.js.map +1 -1
  6. package/dist/lib/cronTasks.js +158 -19
  7. package/dist/lib/cronTasks.js.map +1 -1
  8. package/dist/lib/index.js +10 -6
  9. package/dist/lib/index.js.map +1 -1
  10. package/dist/lib/reactiveTasks/LeaderElector.js +21 -3
  11. package/dist/lib/reactiveTasks/LeaderElector.js.map +1 -1
  12. package/dist/lib/reactiveTasks/MetricsCollector.js +31 -5
  13. package/dist/lib/reactiveTasks/MetricsCollector.js.map +1 -1
  14. package/dist/lib/reactiveTasks/ReactiveTaskPlanner.js +66 -31
  15. package/dist/lib/reactiveTasks/ReactiveTaskPlanner.js.map +1 -1
  16. package/dist/lib/reactiveTasks/ReactiveTaskRepository.js +19 -1
  17. package/dist/lib/reactiveTasks/ReactiveTaskRepository.js.map +1 -1
  18. package/dist/lib/reactiveTasks/ReactiveTaskTypes.js +7 -1
  19. package/dist/lib/reactiveTasks/ReactiveTaskTypes.js.map +1 -1
  20. package/dist/lib/reactiveTasks/ReactiveTaskWorker.js +80 -5
  21. package/dist/lib/reactiveTasks/ReactiveTaskWorker.js.map +1 -1
  22. package/dist/lib/reactiveTasks/index.js +19 -12
  23. package/dist/lib/reactiveTasks/index.js.map +1 -1
  24. package/dist/lib/testing/assertNoReactiveTaskErrors.js +16 -12
  25. package/dist/lib/testing/assertNoReactiveTaskErrors.js.map +1 -1
  26. package/dist/lib/testing/index.js +2 -0
  27. package/dist/lib/testing/index.js.map +1 -1
  28. package/dist/lib/testing/resolveWhitelistFilter.js +48 -0
  29. package/dist/lib/testing/resolveWhitelistFilter.js.map +1 -0
  30. package/dist/lib/testing/waitUntilReactiveTasksIdle.js +17 -46
  31. package/dist/lib/testing/waitUntilReactiveTasksIdle.js.map +1 -1
  32. package/dist/types/ConcurrentRunner.d.ts +14 -0
  33. package/dist/types/createContinuousLock.d.ts +17 -1
  34. package/dist/types/cronTasks.d.ts +17 -2
  35. package/dist/types/index.d.ts +1 -1
  36. package/dist/types/reactiveTasks/LeaderElector.d.ts +15 -1
  37. package/dist/types/reactiveTasks/MetricsCollector.d.ts +8 -0
  38. package/dist/types/reactiveTasks/ReactiveTaskPlanner.d.ts +11 -0
  39. package/dist/types/reactiveTasks/ReactiveTaskRepository.d.ts +10 -1
  40. package/dist/types/reactiveTasks/ReactiveTaskTypes.d.ts +6 -0
  41. package/dist/types/reactiveTasks/index.d.ts +8 -2
  42. package/dist/types/testing/assertNoReactiveTaskErrors.d.ts +4 -4
  43. package/dist/types/testing/index.d.ts +2 -0
  44. package/dist/types/testing/resolveWhitelistFilter.d.ts +35 -0
  45. package/dist/types/testing/waitUntilReactiveTasksIdle.d.ts +7 -13
  46. package/docs/.vitepress/config.mts +9 -1
  47. package/docs/cron-tasks.md +130 -1
  48. package/docs/error-handling.md +156 -0
  49. package/docs/reactive-tasks/guides.md +1 -1
  50. package/docs/reactive-tasks/index.md +1 -1
  51. package/docs/reactive-tasks/monitoring.md +7 -0
  52. package/docs/reactive-tasks/testing.md +187 -0
  53. package/docs/testing.md +60 -94
  54. package/package.json +34 -24
  55. package/docs/.vitepress/cache/deps/_metadata.json +0 -31
  56. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +0 -12824
  57. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +0 -7
  58. package/docs/.vitepress/cache/deps/package.json +0 -3
  59. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  60. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  61. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -9731
  62. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  63. package/docs/.vitepress/cache/deps/vue.js +0 -347
  64. package/docs/.vitepress/cache/deps/vue.js.map +0 -7
package/README.md CHANGED
@@ -185,3 +185,55 @@ app.get('/metrics', async (req, res) => {
185
185
  res.end(await registry.metrics());
186
186
  });
187
187
  ```
188
+
189
+ <br>
190
+
191
+ ## Contributing
192
+
193
+ ### Running the test suite locally
194
+
195
+ The test suite talks to a real MongoDB — a replica set is required for
196
+ change-stream-backed features (reactive tasks, transactions). The quickest
197
+ way to get one running is Docker:
198
+
199
+ ```bash
200
+ docker run -d --name mongodash-test-mongo -p 27017:27017 \
201
+ mongo:7 --replSet rs0 --bind_ip_all
202
+
203
+ # Wait a moment, then initiate the replica set:
204
+ docker exec mongodash-test-mongo mongosh --quiet --eval \
205
+ "rs.initiate({_id:'rs0',members:[{_id:0,host:'127.0.0.1:27017'}]})"
206
+ ```
207
+
208
+ Then run the suite:
209
+
210
+ ```bash
211
+ MONGODB_URI='mongodb://127.0.0.1:27017/mongodashTesting?replicaSet=rs0' \
212
+ npm test
213
+ ```
214
+
215
+ Override `MONGODB_URI` to point at any replica set you already have.
216
+
217
+ ### Useful scripts
218
+
219
+ | Command | What it does |
220
+ | :--- | :--- |
221
+ | `npm test` | Full suite: lint, coverage, export checks. |
222
+ | `npm run test:simple` | Jest only (fastest inner loop). |
223
+ | `npm run test:watch` | Jest watch mode with coverage. |
224
+ | `npm run test:lint` | ESLint. |
225
+ | `npm run test:ts` | Type-check both `src/` and `test/`. |
226
+ | `npm run docs:dev` | Run the VitePress docs on `localhost:5173`. |
227
+ | `npm run test:stryker` | Mutation testing (slow — run before major releases). |
228
+
229
+ ### Commit conventions
230
+
231
+ Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/)
232
+ and are validated by a `commit-msg` hook. Prefixes in use: `feat`, `fix`,
233
+ `refactor`, `test`, `docs`, `chore`, `ci`, `perf`, `revert`, `style`,
234
+ `build`, `breaking`.
235
+
236
+ ### Reporting issues
237
+
238
+ File issues at https://github.com/VaclavObornik/mongodash/issues. Include
239
+ the Node version, MongoDB server version, and a minimal reproduction.
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConcurrentRunner = void 0;
4
- const _debug = require("debug");
5
4
  const OnError_1 = require("./OnError");
6
- const debug = _debug('mongodash:ConcurrentRunner');
5
+ // Note: this file uses require() for the `debug` import on purpose - the
6
+ // rest of the codebase uses `import * as _debug from 'debug'`, but this
7
+ // module is transitively pulled into the dashboard's vue-tsc build (via
8
+ // task-management/types.ts -> cronTasks.ts -> ConcurrentRunner.ts), and
9
+ // vue-tsc runs in stricter ESM mode where the namespace-style import is
10
+ // not callable. require() sidesteps that while keeping runtime identical.
11
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
12
+ const debug = require('debug')('mongodash:ConcurrentRunner');
7
13
  class ConcurrentRunner {
8
14
  constructor(options, onError = OnError_1.defaultOnError) {
9
15
  this.onError = onError;
@@ -59,6 +65,30 @@ class ConcurrentRunner {
59
65
  debug(`SpeedUp called for ${sourceName}`);
60
66
  }
61
67
  }
68
+ /**
69
+ * Override the back-off schedule so the next poll for `sourceName`
70
+ * happens at approximately `runAt` (a millisecond epoch timestamp).
71
+ * Intended for callers that already know when their next unit of work
72
+ * is due - e.g. cron scheduling an hour out - to skip wasted polls.
73
+ *
74
+ * - `runAt` must be a finite number; non-finite values are ignored.
75
+ * - The timestamp is *not* clamped relative to `now`. Passing a value in
76
+ * the past is valid and behaves like {@link speedUp}; passing a value
77
+ * far in the future means the source will not be polled until then
78
+ * (or until `speedUp` / `setNextRunAt` is called again).
79
+ * - Back-off is reset so a subsequent wake-up fires at `minPollMs`.
80
+ */
81
+ setNextRunAt(sourceName, runAt) {
82
+ const state = this.sources.get(sourceName);
83
+ if (!state)
84
+ return;
85
+ if (!Number.isFinite(runAt))
86
+ return;
87
+ state.currentBackoff = state.options.minPollMs;
88
+ state.nextRunAt = runAt;
89
+ // Wake workers so any currently-sleeping one can recompute its wait.
90
+ this.wakeUpAllWorkers();
91
+ }
62
92
  updateAllSources(options) {
63
93
  for (const state of this.sources.values()) {
64
94
  state.options = Object.assign(Object.assign({}, state.options), options);
@@ -1 +1 @@
1
- {"version":3,"file":"ConcurrentRunner.js","sourceRoot":"","sources":["../../src/ConcurrentRunner.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,uCAAoD;AAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAqBnD,MAAa,gBAAgB;IASzB,YACI,OAAgC,EACxB,UAAmB,wBAAc;QAAjC,YAAO,GAAP,OAAO,CAA0B;QATrC,YAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC9C,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAoB,EAAE,CAAC;QAC9B,kBAAa,GAAmB,EAAE,CAAC;QACnC,gBAAW,GAA+B,IAAI,CAAC;QAC/C,uBAAkB,GAAG,CAAC,CAAC;QAM3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,cAAc,CAAC,IAAY,EAAE,OAAsB;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACnB,IAAI;YACJ,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,cAAc,EAAE,OAAO,CAAC,SAAS;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,WAAgC;QACzC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,WAAW,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,KAAK,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAEM,OAAO,CAAC,UAAkB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACR,yCAAyC;YACzC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,OAA+B;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,KAAK,CAAC,OAAO,mCAAQ,KAAK,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;YACjD,sFAAsF;YACtF,2CAA2C;YAC3C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9E,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7C,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9E,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7C,CAAC;QACL,CAAC;QACD,mDAAmD;QACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,UAAU,GAAuB,IAAI,CAAC;YAC1C,IAAI,YAAY,GAAG,QAAQ,CAAC;YAE5B,4CAA4C;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;oBACjC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;oBAC/B,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;YACL,CAAC;YAED,IAAI,UAAU,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;gBACpC,2BAA2B;gBAC3B,MAAM,KAAK,GAAG,UAAU,CAAC;gBAEzB,wFAAwF;gBACxF,mFAAmF;gBACnF,+BAA+B;gBAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhC,IAAI,CAAC;oBACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,OAAO,CAAC,CAAU,CAAC,CAAC;gBAC7B,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,qEAAqE;gBACrE,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC5B,UAAU,GAAG,IAAI,CAAC,CAAC,6BAA6B;gBACpD,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,UAAkB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,iCAAiC;QACjC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC;gBAAE,OAAO,OAAO,EAAE,CAAC;YAE9B,IAAI,KAAqB,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAG,EAAE;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,iFAAiF;gBACjF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,eAAe;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;QACb,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ;AA3KD,4CA2KC"}
1
+ {"version":3,"file":"ConcurrentRunner.js","sourceRoot":"","sources":["../../src/ConcurrentRunner.ts"],"names":[],"mappings":"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"}
@@ -2,29 +2,46 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createContinuousLock = createContinuousLock;
4
4
  const OnError_1 = require("./OnError");
5
- function createContinuousLock(collection, documentId, lockProperty, lockTime) {
5
+ function createContinuousLock(collection, documentId, lockProperty, lockTime, options) {
6
6
  let taskInProgress = true;
7
7
  let prolongLockTimeoutId = null;
8
8
  let lastProlongPromise = Promise.resolve(); // all errors have to be suppressed
9
+ const casEnabled = (options === null || options === void 0 ? void 0 : options.expectedInitialValue) !== undefined;
10
+ let expectedValue = options === null || options === void 0 ? void 0 : options.expectedInitialValue;
11
+ let lockLostNotified = false;
9
12
  function scheduleLockProlong() {
10
13
  prolongLockTimeoutId = setTimeout(() => {
11
14
  prolongLockTimeoutId = null;
12
15
  lastProlongPromise = (async () => {
16
+ var _a;
13
17
  try {
14
- // debug('performing lock prolong');
15
18
  if (!taskInProgress)
16
19
  return;
17
- await collection.updateOne({ _id: documentId }, {
18
- $set: { [lockProperty]: new Date(Date.now() + lockTime) },
20
+ const newValue = new Date(Date.now() + lockTime);
21
+ const filter = (casEnabled ? { _id: documentId, [lockProperty]: expectedValue } : { _id: documentId });
22
+ const result = await collection.updateOne(filter, {
23
+ $set: { [lockProperty]: newValue },
19
24
  });
25
+ if (casEnabled && result.matchedCount === 0) {
26
+ taskInProgress = false;
27
+ if (!lockLostNotified) {
28
+ lockLostNotified = true;
29
+ try {
30
+ (_a = options === null || options === void 0 ? void 0 : options.onLockLost) === null || _a === void 0 ? void 0 : _a.call(options);
31
+ }
32
+ catch (err) {
33
+ (0, OnError_1.onError)(err);
34
+ }
35
+ }
36
+ return;
37
+ }
38
+ expectedValue = newValue;
20
39
  }
21
40
  catch (err) {
22
- // debug('Error during task prolong', err);
23
41
  (0, OnError_1.onError)(err);
24
42
  }
25
43
  finally {
26
44
  if (taskInProgress) {
27
- // debug('scheduling next lock prolong');
28
45
  scheduleLockProlong();
29
46
  }
30
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;AAKA,oDA8CC;AAlDD,uCAAoC;AAIpC,SAAgB,oBAAoB,CAChC,UAAoC,EACpC,UAA+B,EAC/B,YAAgC,EAChC,QAAgB;IAEhB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,oBAAoB,GAAyC,IAAI,CAAC;IACtE,IAAI,kBAAkB,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEjG,SAAS,mBAAmB;QACxB,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC;oBACD,oCAAoC;oBACpC,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAC5B,MAAM,UAAU,CAAC,SAAS,CACtB,EAAE,GAAG,EAAE,UAAU,EAA0B,EAC3C;wBACI,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE;qBAC9B,CAClC,CAAC;gBACN,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,2CAA2C;oBAC3C,IAAA,iBAAO,EAAC,GAAY,CAAC,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACP,IAAI,cAAc,EAAE,CAAC;wBACjB,yCAAyC;wBACzC,mBAAmB,EAAE,CAAC;oBAC1B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,KAAK,IAAI,EAAE;QACd,cAAc,GAAG,KAAK,CAAC,CAAC,0BAA0B;QAClD,IAAI,oBAAoB,EAAE,CAAC;YACvB,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,kBAAkB,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;AAsBA,oDAgEC;AArFD,uCAAoC;AAqBpC,SAAgB,oBAAoB,CAChC,UAAoC,EACpC,UAA+B,EAC/B,YAAgC,EAChC,QAAgB,EAChB,OAAqC;IAErC,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,oBAAoB,GAAyC,IAAI,CAAC;IACtE,IAAI,kBAAkB,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEjG,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,MAAK,SAAS,CAAC;IAC/D,IAAI,aAAa,GAAY,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC;IAC3D,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,SAAS,mBAAmB;QACxB,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;;gBAC7B,IAAI,CAAC;oBACD,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAC5B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAyB,CACjC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,aAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CACzE,CAAC;oBAE1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE;wBAC9C,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE;qBACP,CAAC,CAAC;oBAEjC,IAAI,UAAU,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC1C,cAAc,GAAG,KAAK,CAAC;wBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACpB,gBAAgB,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC;gCACD,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,uDAAI,CAAC;4BAC5B,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACX,IAAA,iBAAO,EAAC,GAAY,CAAC,CAAC;4BAC1B,CAAC;wBACL,CAAC;wBACD,OAAO;oBACX,CAAC;oBACD,aAAa,GAAG,QAAQ,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,IAAA,iBAAO,EAAC,GAAY,CAAC,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACP,IAAI,cAAc,EAAE,CAAC;wBACjB,mBAAmB,EAAE,CAAC;oBAC1B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,KAAK,IAAI,EAAE;QACd,cAAc,GAAG,KAAK,CAAC,CAAC,0BAA0B;QAClD,IAAI,oBAAoB,EAAE,CAAC;YACvB,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,kBAAkB,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
@@ -21,6 +21,7 @@ exports.cronTask = cronTask;
21
21
  exports.getCronTasksList = getCronTasksList;
22
22
  exports.triggerCronTask = triggerCronTask;
23
23
  exports.getRegisteredCronTaskIds = getRegisteredCronTaskIds;
24
+ const ConcurrentRunner_1 = require("./ConcurrentRunner");
24
25
  const createContinuousLock_1 = require("./createContinuousLock");
25
26
  const getCollection_1 = require("./getCollection");
26
27
  const initPromise_1 = require("./initPromise");
@@ -28,7 +29,7 @@ const OnError_1 = require("./OnError");
28
29
  const OnInfo_1 = require("./OnInfo");
29
30
  const parseInterval_1 = require("./parseInterval");
30
31
  function init(options) {
31
- if (state.working) {
32
+ if (state.working || state.runner) {
32
33
  throw new Error('Cron tasks are already running');
33
34
  }
34
35
  state.runCronTasks = options.runCronTasks;
@@ -38,6 +39,13 @@ function init(options) {
38
39
  state.cronExpressionParserOptions = options.cronExpressionParserOptions;
39
40
  state.cronTaskCaller = options.cronTaskCaller;
40
41
  state.cronTaskFilter = options.cronTaskFilter;
42
+ // Floor to a safe integer rather than bitwise truncation (which wraps at 32 bits).
43
+ const requested = Number(options.cronTaskConcurrency);
44
+ const concurrency = Math.max(1, Number.isFinite(requested) ? Math.floor(requested) : 1);
45
+ state.concurrency = concurrency;
46
+ if (concurrency > 1) {
47
+ state.runner = new ConcurrentRunner_1.ConcurrentRunner({ concurrency }, (error) => (0, OnError_1.onError)(error));
48
+ }
41
49
  if (state.runCronTasks) {
42
50
  (0, OnInfo_1.onInfo)({ message: 'Cron tasks processing started', code: exports.CODE_CRON_TASK_STARTED });
43
51
  if (state.tasks.size) {
@@ -63,8 +71,24 @@ class TaskDocument {
63
71
  const noTaskWaitTime = 5 * 1000;
64
72
  const state = {
65
73
  tasks: new Map(),
74
+ // Legacy serial scheduler state (used when concurrency === 1).
66
75
  nextTaskTimeoutId: null,
67
76
  working: false,
77
+ // Set by ensureStarted when it is called while the loop is already busy
78
+ // (working === true). The loop's finally block checks this and schedules
79
+ // a 0-delay next iteration so a task registered mid-iteration is never
80
+ // missed.
81
+ pendingWake: false,
82
+ // ConcurrentRunner state (used when concurrency > 1).
83
+ runner: null,
84
+ runnerStarted: false,
85
+ // Non-null while the runner is in the middle of stopping. ensureStarted
86
+ // chains on this promise so a rapid stop + start sequence waits for the
87
+ // previous teardown before firing a new start - otherwise
88
+ // ConcurrentRunner.start() is a no-op (isRunning still true) and the
89
+ // scheduler would stall with runnerStarted=true but no live workers.
90
+ runnerStopPromise: null,
91
+ concurrency: 1,
68
92
  _collection: null,
69
93
  get collection() {
70
94
  if (!this._collection) {
@@ -80,6 +104,7 @@ const state = {
80
104
  cronTaskCaller: null,
81
105
  cronTaskFilter: null,
82
106
  };
107
+ const CRON_SOURCE_NAME = '_cron_tasks';
83
108
  // Removed module-level vars that are now in state or imported
84
109
  // let taskCaller: CronTaskCaller;
85
110
  // let taskFilter: CronTaskFilter;
@@ -252,7 +277,7 @@ async function processTask(task, enforcedTask) {
252
277
  (0, OnError_1.onError)(err);
253
278
  }
254
279
  }
255
- /** can never throw */
280
+ /** Can never throw. */
256
281
  async function getWaitTimeByNextTask() {
257
282
  try {
258
283
  const nextTask = await state.collection.findOne(getTasksToProcessFilter(), {
@@ -270,24 +295,30 @@ async function getWaitTimeByNextTask() {
270
295
  return noTaskWaitTime;
271
296
  }
272
297
  }
298
+ // --- Serial scheduler (concurrency === 1) --------------------------------
299
+ // This is the historical single-loop implementation. It is used verbatim
300
+ // when `cronTaskConcurrency` is 1 (the default) so existing behaviour -
301
+ // including exact wake-up timing that several tests assert on - is
302
+ // preserved byte-for-byte.
273
303
  function runATask() {
274
304
  debug('runATask called');
275
305
  state.working = true;
306
+ state.pendingWake = false;
276
307
  (async () => {
277
308
  await initPromise_1.initPromise;
278
- const enforcedTask = state.enforcedTasks.shift() || null; // there can be no enforced task
309
+ const enforcedTask = state.enforcedTasks.shift() || null;
279
310
  let task = null;
280
311
  const countOfTasks = state.tasks.size;
281
312
  try {
282
313
  task = await findATaskToRun(enforcedTask);
283
314
  if (!task) {
284
315
  debug('no pending task found');
285
- return; // the finally statement will be called anyway
316
+ return;
286
317
  }
287
318
  await processTask(task, enforcedTask);
288
319
  }
289
320
  catch (error) {
290
- debug(`Catch error ${error} `);
321
+ debug(`Catch error ${error}`);
291
322
  if (enforcedTask) {
292
323
  enforcedTask.reject(error);
293
324
  }
@@ -298,19 +329,17 @@ function runATask() {
298
329
  finally {
299
330
  const shouldTriggerNext = () => state.runCronTasks || !!state.enforcedTasks.length;
300
331
  if (shouldTriggerNext()) {
301
- // if there was no task, wait for standard time,
302
- // but try find another one when one has finished
303
- // or a new task has been registered
304
332
  const aTaskHasBeenRegistered = () => state.tasks.size !== countOfTasks;
305
333
  let waitTime = 0;
306
- if (!task && !aTaskHasBeenRegistered() && !state.enforcedTasks.length) {
334
+ // If ensureStarted was called while we were busy (e.g. cronTask()
335
+ // registered a new task mid-iteration and cleared our existing
336
+ // timer), re-run immediately regardless of what the DB says.
337
+ if (!state.pendingWake && !task && !aTaskHasBeenRegistered() && !state.enforcedTasks.length) {
307
338
  waitTime = await getWaitTimeByNextTask();
308
- // a task can be registered in the meanwhile
309
- if (aTaskHasBeenRegistered() || state.enforcedTasks.length) {
339
+ if (state.pendingWake || aTaskHasBeenRegistered() || state.enforcedTasks.length) {
310
340
  waitTime = 0;
311
341
  }
312
342
  }
313
- // should we still trigger next?
314
343
  if (shouldTriggerNext()) {
315
344
  debug(`SCHEDULING NEXT CHECK AFTER ${waitTime} ms`);
316
345
  state.nextTaskTimeoutId = setTimeout(() => {
@@ -324,23 +353,131 @@ function runATask() {
324
353
  }
325
354
  })();
326
355
  }
356
+ // --- Parallel scheduler (concurrency > 1) --------------------------------
357
+ // Wraps ConcurrentRunner around the same findATaskToRun / processTask
358
+ // primitives. Multiple workers poll the cron collection in parallel; each
359
+ // task is still serialised against itself via the per-taskId lockedTill
360
+ // mechanism, so raising concurrency never causes a single task to run
361
+ // twice simultaneously.
362
+ async function tryRunOneTaskViaRunner() {
363
+ var _a;
364
+ await initPromise_1.initPromise;
365
+ const enforcedTask = state.enforcedTasks.shift() || null;
366
+ let task = null;
367
+ try {
368
+ task = await findATaskToRun(enforcedTask);
369
+ if (!task) {
370
+ debug('no pending task found');
371
+ return;
372
+ }
373
+ await processTask(task, enforcedTask);
374
+ // A task just completed - there may be another ready right now, so
375
+ // poll again immediately instead of applying back-off.
376
+ (_a = state.runner) === null || _a === void 0 ? void 0 : _a.speedUp(CRON_SOURCE_NAME);
377
+ }
378
+ catch (error) {
379
+ debug(`Catch error ${error}`);
380
+ if (enforcedTask) {
381
+ enforcedTask.reject(error);
382
+ }
383
+ else {
384
+ (0, OnError_1.onError)(error);
385
+ }
386
+ }
387
+ finally {
388
+ if (!task && state.runner && state.runnerStarted && state.enforcedTasks.length === 0) {
389
+ if (state.runCronTasks) {
390
+ const waitMs = await getWaitTimeByNextTask();
391
+ state.runner.setNextRunAt(CRON_SOURCE_NAME, Date.now() + waitMs);
392
+ }
393
+ else {
394
+ // Mirror the serial scheduler: once runCronTasks has been
395
+ // turned off and there is no enforced task to run we stop
396
+ // polling entirely. A later runCronTask() / startCronTasks()
397
+ // will re-enter ensureStarted which restarts the runner.
398
+ state.runnerStarted = false;
399
+ // Track the stop promise here too so a rapid runCronTask()
400
+ // call that arrives mid-drain chains on it in ensureStarted
401
+ // (see the same race covered by stopCronTasks).
402
+ state.runnerStopPromise = state.runner.stop().catch((err) => {
403
+ (0, OnError_1.onError)(err);
404
+ });
405
+ }
406
+ }
407
+ }
408
+ }
327
409
  function ensureStarted() {
328
- // terminate waiting if there is any
410
+ if (state.runner) {
411
+ // Parallel path.
412
+ // If a previous stopCronTasks() is still draining the runner, wait
413
+ // for it before (re)starting. Without this the inner start() call
414
+ // would no-op (isRunning still true) and we would end up with
415
+ // runnerStarted=true but no actual workers.
416
+ if (state.runnerStopPromise) {
417
+ const pending = state.runnerStopPromise;
418
+ pending
419
+ .then(() => {
420
+ if (state.runnerStopPromise === pending) {
421
+ state.runnerStopPromise = null;
422
+ }
423
+ // Re-evaluate: cron may have been stopped again in the
424
+ // meantime or runCronTasks may have flipped off.
425
+ if (state.runCronTasks || state.enforcedTasks.length > 0) {
426
+ ensureStarted();
427
+ }
428
+ })
429
+ .catch((err) => (0, OnError_1.onError)(err));
430
+ return;
431
+ }
432
+ if (!state.runner.hasSource(CRON_SOURCE_NAME)) {
433
+ state.runner.registerSource(CRON_SOURCE_NAME, {
434
+ minPollMs: 200,
435
+ maxPollMs: noTaskWaitTime,
436
+ jitterMs: 100,
437
+ });
438
+ }
439
+ if (!state.runnerStarted) {
440
+ debug('STARTING RUNNER');
441
+ state.runnerStarted = true;
442
+ state.runner.start(() => tryRunOneTaskViaRunner());
443
+ }
444
+ else {
445
+ state.runner.speedUp(CRON_SOURCE_NAME);
446
+ }
447
+ return;
448
+ }
449
+ // Serial path.
329
450
  if (state.nextTaskTimeoutId) {
330
451
  clearTimeout(state.nextTaskTimeoutId);
331
452
  state.nextTaskTimeoutId = null;
332
453
  }
333
- if (!state.working) {
334
- debug('STARTING LOOP');
335
- runATask();
454
+ if (state.working) {
455
+ // The loop is mid-iteration. It will notice pendingWake in its
456
+ // finally block and schedule the next iteration at 0ms.
457
+ state.pendingWake = true;
458
+ return;
336
459
  }
337
- // else the loop is already set
460
+ debug('STARTING LOOP');
461
+ runATask();
338
462
  }
339
463
  function stopCronTasks() {
340
464
  debug('STOPPING CRON TASKS');
341
465
  state.runCronTasks = false;
342
466
  if (state.nextTaskTimeoutId) {
343
467
  clearTimeout(state.nextTaskTimeoutId);
468
+ state.nextTaskTimeoutId = null;
469
+ }
470
+ if (state.runner && state.runnerStarted) {
471
+ state.runnerStarted = false;
472
+ // Fire and forget: the historical API is synchronous (returns void).
473
+ // Any in-flight tasks will finish on their own; further polls will
474
+ // not happen because runnerStarted is already cleared. Track the
475
+ // stop promise so ensureStarted can chain on it if the caller
476
+ // restarts cron before teardown completes - see the race Copilot
477
+ // flagged on PR #460.
478
+ state.runnerStopPromise = state.runner.stop().catch((err) => {
479
+ (0, OnError_1.onError)(err);
480
+ });
344
481
  }
345
482
  }
346
483
  function startCronTasks() {
@@ -448,8 +585,10 @@ async function getCronTasksList(query = {}) {
448
585
  };
449
586
  }
450
587
  /**
451
- * Triggers a cron task immediately.
452
- * Alias for scheduleCronTaskImmediately but returns the new state or confirmation.
588
+ * @deprecated Alias for {@link scheduleCronTaskImmediately}. Prefer that name for
589
+ * clarity - it describes exactly what happens (the task is scheduled to run on
590
+ * the next polling tick, not necessarily this very millisecond). This alias will
591
+ * be removed in a future major version.
453
592
  */
454
593
  async function triggerCronTask(taskId) {
455
594
  return scheduleCronTaskImmediately(taskId);
@@ -1 +1 @@
1
- {"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
package/dist/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.withTransaction = exports.registerPostCommitHook = exports.withLock = exports.LockAlreadyAcquiredError = exports.isLockAlreadyAcquiredError = exports.serveDashboard = exports.OperationalTaskController = exports._scheduler = exports.TaskConditionFailedError = exports.stopReactiveTasks = exports.startReactiveTasks = exports.retryReactiveTasks = exports.reactiveTask = exports.getReactiveTasks = exports.getPrometheusMetrics = exports.countReactiveTasks = exports.CODE_REACTIVE_TASK_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_STREAM_ERROR = exports.CODE_REACTIVE_TASK_PLANNER_STOPPED = exports.CODE_REACTIVE_TASK_PLANNER_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_FINISHED = exports.CODE_REACTIVE_TASK_LEADER_LOCK_LOST = exports.CODE_REACTIVE_TASK_FINISHED = exports.CODE_REACTIVE_TASK_FAILED = exports.processInBatches = exports.getMongoClient = exports.getCollection = exports.triggerCronTask = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.getCronTasksList = exports.cronTask = exports.CODE_CRON_TASK_STARTED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_FAILED = void 0;
17
+ exports.withTransaction = exports.registerPostCommitHook = exports.withLock = exports.LockAlreadyAcquiredError = exports.isLockAlreadyAcquiredError = exports.serveDashboard = exports.OperationalTaskController = exports._scheduler = exports.TaskConditionFailedError = exports.stopReactiveTasks = exports.startReactiveTasks = exports.retryReactiveTasks = exports.reactiveTask = exports.getReactiveTasks = exports.getPrometheusMetrics = exports.countReactiveTasks = exports.CODE_REACTIVE_TASK_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_STREAM_ERROR = exports.CODE_REACTIVE_TASK_PLANNER_STOPPED = exports.CODE_REACTIVE_TASK_PLANNER_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_STARTED = exports.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_FINISHED = exports.CODE_REACTIVE_TASK_LOCK_LOST = exports.CODE_REACTIVE_TASK_LEADER_LOCK_LOST = exports.CODE_REACTIVE_TASK_INITIALIZED = exports.CODE_REACTIVE_TASK_FINISHED = exports.CODE_REACTIVE_TASK_FAILED = exports.CODE_REACTIVE_TASK_CLEANUP = exports.processInBatches = exports.getMongoClient = exports.getCollection = exports.triggerCronTask = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.getCronTasksList = exports.cronTask = exports.CODE_CRON_TASK_STARTED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_FAILED = void 0;
18
18
  exports.init = init;
19
19
  const cronTasks_1 = require("./cronTasks");
20
20
  const getCollection_1 = require("./getCollection");
@@ -43,9 +43,12 @@ Object.defineProperty(exports, "getMongoClient", { enumerable: true, get: functi
43
43
  var processInBatches_1 = require("./processInBatches");
44
44
  Object.defineProperty(exports, "processInBatches", { enumerable: true, get: function () { return processInBatches_1.processInBatches; } });
45
45
  var reactiveTasks_2 = require("./reactiveTasks");
46
+ Object.defineProperty(exports, "CODE_REACTIVE_TASK_CLEANUP", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_CLEANUP; } });
46
47
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_FAILED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_FAILED; } });
47
48
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_FINISHED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_FINISHED; } });
49
+ Object.defineProperty(exports, "CODE_REACTIVE_TASK_INITIALIZED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_INITIALIZED; } });
48
50
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_LEADER_LOCK_LOST", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_LEADER_LOCK_LOST; } });
51
+ Object.defineProperty(exports, "CODE_REACTIVE_TASK_LOCK_LOST", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_LOCK_LOST; } });
49
52
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_FINISHED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_FINISHED; } });
50
53
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_STARTED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_PLANNER_RECONCILIATION_STARTED; } });
51
54
  Object.defineProperty(exports, "CODE_REACTIVE_TASK_PLANNER_STARTED", { enumerable: true, get: function () { return reactiveTasks_2.CODE_REACTIVE_TASK_PLANNER_STARTED; } });
@@ -74,7 +77,7 @@ Object.defineProperty(exports, "registerPostCommitHook", { enumerable: true, get
74
77
  Object.defineProperty(exports, "withTransaction", { enumerable: true, get: function () { return withTransaction_1.withTransaction; } });
75
78
  let initCalled = false;
76
79
  async function init(options) {
77
- var _a, _b, _c, _d, _e, _f, _g;
80
+ var _a, _b, _c, _d, _e, _f, _g, _h;
78
81
  if (initCalled) {
79
82
  throw new Error('init method can be called only once.');
80
83
  }
@@ -101,11 +104,12 @@ async function init(options) {
101
104
  (0, withLock_1.reset)();
102
105
  (0, cronTasks_1.init)({
103
106
  runCronTasks: (_c = options.runCronTasks) !== null && _c !== void 0 ? _c : true,
104
- cronExpressionParserOptions: (_d = options.cronExpressionParserOptions) !== null && _d !== void 0 ? _d : {},
105
- cronTaskCaller: (_e = options.cronTaskCaller) !== null && _e !== void 0 ? _e : taskCaller,
106
- cronTaskFilter: (_f = options.cronTaskFilter) !== null && _f !== void 0 ? _f : (() => true),
107
+ cronTaskConcurrency: (_d = options.cronTaskConcurrency) !== null && _d !== void 0 ? _d : 1,
108
+ cronExpressionParserOptions: (_e = options.cronExpressionParserOptions) !== null && _e !== void 0 ? _e : {},
109
+ cronTaskCaller: (_f = options.cronTaskCaller) !== null && _f !== void 0 ? _f : taskCaller,
110
+ cronTaskFilter: (_g = options.cronTaskFilter) !== null && _g !== void 0 ? _g : (() => true),
107
111
  });
108
- (0, reactiveTasks_1.init)(Object.assign(Object.assign({}, options), { globalsCollection: globalsCollection, reactiveTaskCaller: (_g = options.reactiveTaskCaller) !== null && _g !== void 0 ? _g : taskCaller }));
112
+ (0, reactiveTasks_1.init)(Object.assign(Object.assign({}, options), { globalsCollection: globalsCollection, reactiveTaskCaller: (_h = options.reactiveTaskCaller) !== null && _h !== void 0 ? _h : taskCaller }));
109
113
  (0, initPromise_1.resolveInitPromise)();
110
114
  }
111
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}