mongodash 2.1.3 → 2.2.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.
@@ -67,7 +67,7 @@ class ReactiveTaskRepository {
67
67
  return null;
68
68
  }
69
69
  }
70
- async finalizeTask(taskRecord, strategy, error, debounceMs = 1000, executionStats, executionHistoryLimit = 5) {
70
+ async finalizeTask(taskRecord, strategy, error, debounceMs = 1000, executionStats, executionHistoryLimit = 5, options) {
71
71
  var _a;
72
72
  const isError = !!error;
73
73
  const errorMessage = (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error';
@@ -145,7 +145,7 @@ class ReactiveTaskRepository {
145
145
  },
146
146
  },
147
147
  },
148
- ]);
148
+ ], options || {});
149
149
  }
150
150
  async deferTask(taskRecord, delay) {
151
151
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveTaskRepository.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveTaskRepository.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskRepository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveTaskTypes.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskTypes.ts"],"names":[],"mappings":";;;AAgHA;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,KAAK;IAC/C,YAAY,OAAO,GAAG,gDAAgD;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAC3C,CAAC;CACJ;AALD,4DAKC;AAuNY,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,2BAA2B,GAAG,sBAAsB,CAAC;AACrD,QAAA,yBAAyB,GAAG,oBAAoB,CAAC;AAEjD,QAAA,kCAAkC,GAAG,4BAA4B,CAAC;AAClE,QAAA,kCAAkC,GAAG,4BAA4B,CAAC;AAClE,QAAA,iDAAiD,GAAG,0CAA0C,CAAC;AAC/F,QAAA,kDAAkD,GAAG,2CAA2C,CAAC;AACjG,QAAA,uCAAuC,GAAG,gCAAgC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,4BAA4B,CAAC;AACnE,QAAA,8BAA8B,GAAG,yBAAyB,CAAC;AAC3D,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,yBAAyB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ReactiveTaskTypes.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskTypes.ts"],"names":[],"mappings":";;;AAgHA;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,KAAK;IAC/C,YAAY,OAAO,GAAG,gDAAgD;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAC3C,CAAC;CACJ;AALD,4DAKC;AAiOY,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,2BAA2B,GAAG,sBAAsB,CAAC;AACrD,QAAA,yBAAyB,GAAG,oBAAoB,CAAC;AAEjD,QAAA,kCAAkC,GAAG,4BAA4B,CAAC;AAClE,QAAA,kCAAkC,GAAG,4BAA4B,CAAC;AAClE,QAAA,iDAAiD,GAAG,0CAA0C,CAAC;AAC/F,QAAA,kDAAkD,GAAG,2CAA2C,CAAC;AACjG,QAAA,uCAAuC,GAAG,gCAAgC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,4BAA4B,CAAC;AACnE,QAAA,8BAA8B,GAAG,yBAAyB,CAAC;AAC3D,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,yBAAyB,GAAG,yBAAyB,CAAC"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReactiveTaskWorker = void 0;
4
4
  const _debug = require("debug");
5
5
  const createContinuousLock_1 = require("../createContinuousLock");
6
+ const OnError_1 = require("../OnError");
7
+ const OnInfo_1 = require("../OnInfo");
6
8
  const compileWatchProjection_1 = require("./compileWatchProjection");
7
9
  const ReactiveTaskTypes_1 = require("./ReactiveTaskTypes");
8
- const OnInfo_1 = require("../OnInfo");
9
- const OnError_1 = require("../OnError");
10
10
  const debug = _debug('mongodash:reactiveTasks:worker');
11
11
  /**
12
12
  * Responsible for executing reactive tasks.
@@ -65,11 +65,18 @@ class ReactiveTaskWorker {
65
65
  }
66
66
  }
67
67
  async processTask(taskRecord) {
68
- var _a, _b, _c;
68
+ var _a, _b;
69
69
  const taskDef = this.registry.getTask(taskRecord.task);
70
70
  const tasksCollection = taskDef.tasksCollection;
71
71
  let deferredTo;
72
72
  let throttledUntil;
73
+ let isManuallyFinalized = false;
74
+ const finalizeTaskSuccess = async (duration, session) => {
75
+ var _a;
76
+ (_a = this.metricsCollector) === null || _a === void 0 ? void 0 : _a.recordTaskExecution(taskRecord.task, 'success', duration);
77
+ const entry = this.registry.getEntry(tasksCollection.collectionName);
78
+ await entry.repository.finalizeTask(taskRecord, taskDef.retryStrategy, undefined, taskDef.debounceMs, { durationMs: duration }, taskDef.executionHistoryLimit, session ? { session } : undefined);
79
+ };
73
80
  const context = {
74
81
  docId: taskRecord.sourceDocId,
75
82
  watchedValues: taskRecord.lastObservedValues || null,
@@ -97,6 +104,20 @@ class ReactiveTaskWorker {
97
104
  throttleAll: (until) => {
98
105
  throttledUntil = typeof until === 'number' ? new Date(Date.now() + until) : until;
99
106
  },
107
+ markCompleted: async (options) => {
108
+ if (isManuallyFinalized) {
109
+ return; // Idempotent
110
+ }
111
+ isManuallyFinalized = true;
112
+ const duration = Date.now() - start;
113
+ try {
114
+ await finalizeTaskSuccess(duration, options === null || options === void 0 ? void 0 : options.session);
115
+ }
116
+ catch (error) {
117
+ isManuallyFinalized = false;
118
+ throw error;
119
+ }
120
+ },
100
121
  };
101
122
  const stopLock = (0, createContinuousLock_1.createContinuousLock)(tasksCollection, taskRecord._id.toString(), 'lockExpiresAt', this.internalOptions.visibilityTimeoutMs, (error) => {
102
123
  this.onError(error);
@@ -156,20 +177,28 @@ class ReactiveTaskWorker {
156
177
  debug(`[Scheduler ${this.instanceId}] Throttling task '${taskRecord.task}' until ${throttledUntil.toISOString()}`);
157
178
  }
158
179
  if (deferredTo) {
180
+ if (isManuallyFinalized) {
181
+ this.onInfo({
182
+ message: `[ReactiveTask] Task '${taskRecord.task}' (ID: ${taskRecord._id}) was manually marked as completed, but deferCurrent() was also called. Ignoring defer request.`,
183
+ code: 'reactiveTaskDeferIgnored',
184
+ taskId: taskRecord._id.toString(),
185
+ });
186
+ return;
187
+ }
159
188
  debug(`[Scheduler ${this.instanceId}] Deferring task '${taskRecord.task}' until ${deferredTo.toISOString()}`);
160
189
  const entry = this.registry.getEntry(tasksCollection.collectionName);
161
190
  await entry.repository.deferTask(taskRecord, deferredTo);
162
191
  return;
163
192
  }
164
- (_b = this.metricsCollector) === null || _b === void 0 ? void 0 : _b.recordTaskExecution(taskRecord.task, 'success', duration);
165
- const entry = this.registry.getEntry(tasksCollection.collectionName);
166
- await entry.repository.finalizeTask(taskRecord, taskDef.retryStrategy, undefined, taskDef.debounceMs, { durationMs: duration }, taskDef.executionHistoryLimit);
193
+ if (!isManuallyFinalized) {
194
+ await finalizeTaskSuccess(duration);
195
+ }
167
196
  }
168
197
  catch (error) {
169
198
  // Logging is already done in processTheTask via onInfo
170
199
  await stopLock();
171
200
  const duration = Date.now() - start;
172
- (_c = this.metricsCollector) === null || _c === void 0 ? void 0 : _c.recordTaskExecution(taskRecord.task, 'failed', duration);
201
+ (_b = this.metricsCollector) === null || _b === void 0 ? void 0 : _b.recordTaskExecution(taskRecord.task, 'failed', duration);
173
202
  const entry = this.registry.getEntry(tasksCollection.collectionName);
174
203
  await entry.repository.finalizeTask(taskRecord, taskDef.retryStrategy, error, taskDef.debounceMs, { durationMs: duration }, taskDef.executionHistoryLimit);
175
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveTaskWorker.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveTaskWorker.js","sourceRoot":"","sources":["../../../../src/reactiveTasks/ReactiveTaskWorker.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,9 @@ export declare class ReactiveTaskRepository<T extends Document> {
26
26
  }): Promise<ReactiveTaskRecord<T> | null>;
27
27
  finalizeTask(taskRecord: ReactiveTaskRecord<T>, strategy: ReactiveTaskRetryStrategy, error?: Error, debounceMs?: number, executionStats?: {
28
28
  durationMs: number;
29
- }, executionHistoryLimit?: number): Promise<void>;
29
+ }, executionHistoryLimit?: number, options?: {
30
+ session?: import('mongodb').ClientSession;
31
+ }): Promise<void>;
30
32
  deferTask(taskRecord: ReactiveTaskRecord<T>, delay: number | Date): Promise<void>;
31
33
  executeBulkWrite(operations: Parameters<Collection<ReactiveTaskRecord<T>>['bulkWrite']>[0], options?: CompatibleBulkWriteOptions): Promise<void>;
32
34
  findTasks(filter: Filter<ReactiveTaskRecord<T>>, options?: {
@@ -1,4 +1,4 @@
1
- import { Collection, Document, ObjectId, ResumeToken, WithId, Filter, FindOptions } from 'mongodb';
1
+ import { Collection, Document, Filter, FindOptions, ObjectId, ResumeToken, WithId } from 'mongodb';
2
2
  import type { ReactiveTaskRetryStrategy } from './ReactiveTaskRetryStrategy';
3
3
  /**
4
4
  * Represents the status of a task in the database.
@@ -138,10 +138,20 @@ export interface ReactiveTaskContext<T = Document> {
138
138
  * Pauses ALL tasks of this type (on this instance only) until the specified time.
139
139
  * Useful for instance-local backoff (e.g. rate limits), but note that other instances will continue processing.
140
140
  *
141
- * IMPORTANT: This does NOT automatically defer the *current* task.
142
141
  * The current task will be marked as successful unless you also call `deferCurrent()` or throw an error.
143
142
  */
144
143
  throttleAll(until: number | Date): void;
144
+ /**
145
+ * Atomically marks the task as completed within the provided MongoDB Transaction.
146
+ * Use this to ensure that the task status update is committed atomically with your business logic.
147
+ *
148
+ * If you call this method, the library will NOT perform the automatic finalization step.
149
+ *
150
+ * @param options.session The MongoDB ClientSession where the transaction is active.
151
+ */
152
+ markCompleted(options?: {
153
+ session?: import('mongodb').ClientSession;
154
+ }): Promise<void>;
145
155
  }
146
156
  /**
147
157
  * Worker function provided by the user.
@@ -1,7 +1,7 @@
1
+ import { OnError } from '../OnError';
2
+ import { OnInfo } from '../OnInfo';
1
3
  import { ReactiveTaskRegistry } from './ReactiveTaskRegistry';
2
4
  import { ReactiveTaskCaller, ReactiveTaskFilter } from './ReactiveTaskTypes';
3
- import { OnInfo } from '../OnInfo';
4
- import { OnError } from '../OnError';
5
5
  import { MetricsCollector } from './MetricsCollector';
6
6
  export interface WorkerCallbacks {
7
7
  onTaskFound: (collectionName: string) => void;
@@ -54,3 +54,5 @@ Every task record in the `_tasks` collection follows a specific lifecycle:
54
54
  | `failed` | Task permanently failed after exceeding all [retries](./policy-retry.md) or the `maxDuration` window. |
55
55
 
56
56
 
57
+
58
+
@@ -71,22 +71,41 @@ const user = await context.getDocument({
71
71
  });
72
72
  ```
73
73
 
74
- **2. Transactions (`session`)**
75
- To ensure atomic updates across multiple collections, pass a `session` to `getDocument`. This ensures that the document fetch and your subsequent writes happen within the same transaction snapshot.
74
+ **2. Transactions (`session`) & Exactly-Once Processing**
76
75
 
77
- ```typescript
78
- import { withTransaction } from 'mongodash';
76
+ To ensure atomic updates across multiple collections and achieve **Exactly-Once Processing**, you can use MongoDB transactions.
79
77
 
80
- handler: async (context) => {
81
- await withTransaction(async (session) => {
82
- // Pass session to getDocument to participate in the transaction
83
- const doc = await context.getDocument({ session });
78
+ **a) Snapshot Isolation**
79
+ Pass a `session` to `getDocument` to ensure the document fetch is part of your transaction snapshot.
84
80
 
85
- // Perform other operations in the same transaction
86
- await otherCollection.updateOne({ _id: doc.refId }, { $set: { ... } }, { session });
87
- });
81
+ **b) Atomic Completion**
82
+ By default, the library updates the task status to `completed` *after* your handler finishes. If a crash occurs in between, the task might re-run (At-Least-Once).
83
+ To prevent this, use `markCompleted({ session })` to include the task status update within your business transaction.
84
+
85
+ ```typescript
86
+ handler: async ({ docId, markCompleted, getDocument }) => {
87
+ const session = client.startSession();
88
+ try {
89
+ await session.withTransaction(async () => {
90
+ // 1. Consistent Read (Optional but recommended)
91
+ const doc = await getDocument({ session });
92
+
93
+ // 2. Business Logic (Updates, etc.)
94
+ await otherCollection.updateOne(
95
+ { _id: docId },
96
+ { $set: { processed: true } },
97
+ { session }
98
+ );
99
+
100
+ // 3. Exactly-Once: Commit task status with the transaction
101
+ await markCompleted({ session });
102
+ });
103
+ } finally {
104
+ await session.endSession();
105
+ }
88
106
  }
89
107
  ```
108
+ When `markCompleted` is called, the library skips its automatic finalization.
90
109
 
91
110
  **3. Locking Resources (`withLock`)**
92
111
  While the *task itself* is locked (ensuring only one worker processes this specific task instance), you might need to lock shared resources if your handler accesses data outside the source document.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodash",
3
- "version": "2.1.3",
3
+ "version": "2.2.0",
4
4
  "description": "An utility library delivering super-useful and super-simple tools using MongoDB",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "dist/types/index.d.ts",