@dbos-inc/dbos-sdk 0.7.21-preview → 0.7.35
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/src/cloud-cli/applications/deploy-app-code.d.ts.map +1 -1
- package/dist/src/cloud-cli/applications/deploy-app-code.js +1 -0
- package/dist/src/cloud-cli/applications/deploy-app-code.js.map +1 -1
- package/dist/src/cloud-cli/cli.js +19 -7
- package/dist/src/cloud-cli/cli.js.map +1 -1
- package/dist/src/cloud-cli/userdb.d.ts +2 -0
- package/dist/src/cloud-cli/userdb.d.ts.map +1 -1
- package/dist/src/cloud-cli/userdb.js +78 -5
- package/dist/src/cloud-cli/userdb.js.map +1 -1
- package/dist/src/communicator.d.ts +2 -1
- package/dist/src/communicator.d.ts.map +1 -1
- package/dist/src/communicator.js.map +1 -1
- package/dist/src/context.d.ts +3 -2
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +7 -7
- package/dist/src/context.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +7 -1
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +110 -35
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts +1 -0
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +1 -0
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts +3 -0
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +1 -0
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +9 -9
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/src/debugger/debug_workflow.d.ts +38 -0
- package/dist/src/debugger/debug_workflow.d.ts.map +1 -0
- package/dist/src/debugger/debug_workflow.js +192 -0
- package/dist/src/debugger/debug_workflow.js.map +1 -0
- package/dist/src/error.d.ts +3 -0
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +8 -1
- package/dist/src/error.js.map +1 -1
- package/dist/src/httpServer/handler.d.ts +2 -1
- package/dist/src/httpServer/handler.d.ts.map +1 -1
- package/dist/src/httpServer/handler.js +27 -15
- package/dist/src/httpServer/handler.js.map +1 -1
- package/dist/src/httpServer/server.d.ts +3 -3
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +19 -17
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/system_database.d.ts +2 -0
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +9 -2
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/telemetry/collector.d.ts +2 -2
- package/dist/src/telemetry/collector.d.ts.map +1 -1
- package/dist/src/telemetry/collector.js.map +1 -1
- package/dist/src/telemetry/exporters.d.ts +5 -6
- package/dist/src/telemetry/exporters.d.ts.map +1 -1
- package/dist/src/telemetry/exporters.js +2 -42
- package/dist/src/telemetry/exporters.js.map +1 -1
- package/dist/src/telemetry/signals.d.ts +0 -10
- package/dist/src/telemetry/signals.d.ts.map +1 -1
- package/dist/src/telemetry/signals.js.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +7 -1
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/transaction.d.ts +2 -1
- package/dist/src/transaction.d.ts.map +1 -1
- package/dist/src/transaction.js.map +1 -1
- package/dist/src/workflow.d.ts +15 -2
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +92 -56
- package/dist/src/workflow.js.map +1 -1
- package/examples/hello/README.md +1 -1
- package/examples/hello/dbos-config.yaml +3 -0
- package/package.json +2 -2
- package/dist/src/provenance/provenance_daemon.d.ts +0 -34
- package/dist/src/provenance/provenance_daemon.d.ts.map +0 -1
- package/dist/src/provenance/provenance_daemon.js +0 -86
- package/dist/src/provenance/provenance_daemon.js.map +0 -1
package/dist/src/workflow.js
CHANGED
@@ -18,39 +18,48 @@ exports.StatusString = {
|
|
18
18
|
};
|
19
19
|
class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
20
20
|
workflowConfig;
|
21
|
+
presetUUID;
|
21
22
|
functionID = 0;
|
22
|
-
#
|
23
|
+
#dbosExec;
|
23
24
|
resultBuffer = new Map();
|
24
25
|
isTempWorkflow;
|
25
|
-
constructor(
|
26
|
-
const span =
|
26
|
+
constructor(dbosExec, parentCtx, workflowUUID, workflowConfig, workflowName, presetUUID) {
|
27
|
+
const span = dbosExec.tracer.startSpan(workflowName, {
|
27
28
|
workflowUUID: workflowUUID,
|
28
29
|
operationName: workflowName,
|
29
30
|
runAs: parentCtx?.authenticatedUser ?? "",
|
30
31
|
}, parentCtx?.span);
|
31
|
-
super(workflowName, span,
|
32
|
+
super(workflowName, span, dbosExec.logger, parentCtx);
|
32
33
|
this.workflowConfig = workflowConfig;
|
34
|
+
this.presetUUID = presetUUID;
|
33
35
|
this.workflowUUID = workflowUUID;
|
34
|
-
this.#
|
35
|
-
this.isTempWorkflow =
|
36
|
-
if (
|
36
|
+
this.#dbosExec = dbosExec;
|
37
|
+
this.isTempWorkflow = dbosExec.tempWorkflowName === workflowName;
|
38
|
+
if (dbosExec.config.application) {
|
37
39
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
38
|
-
this.applicationConfig =
|
40
|
+
this.applicationConfig = dbosExec.config.application;
|
39
41
|
}
|
40
42
|
}
|
41
43
|
functionIDGetIncrement() {
|
42
44
|
return this.functionID++;
|
43
45
|
}
|
46
|
+
/**
|
47
|
+
* Retrieve the transaction snapshot information of the current transaction
|
48
|
+
*/
|
49
|
+
async retrieveSnapshot(client) {
|
50
|
+
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "SELECT pg_current_snapshot()::text as txn_snapshot;");
|
51
|
+
return rows[0].txn_snapshot;
|
52
|
+
}
|
44
53
|
/**
|
45
54
|
* Check if an operation has already executed in a workflow.
|
46
|
-
* If it previously executed
|
55
|
+
* If it previously executed successfully, return its output.
|
47
56
|
* If it previously executed and threw an error, throw that error.
|
48
57
|
* Otherwise, return DBOSNull.
|
49
58
|
* Also return the transaction snapshot information of this current transaction.
|
50
59
|
*/
|
51
60
|
async checkExecution(client, funcID) {
|
52
61
|
// Note: we read the current snapshot, not the recorded one!
|
53
|
-
const rows = await this.#
|
62
|
+
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "(SELECT output, error, txn_snapshot, true as recorded FROM dbos.transaction_outputs WHERE workflow_uuid=$1 AND function_id=$2 UNION ALL SELECT null as output, null as error, pg_current_snapshot()::text as txn_snapshot, false as recorded) ORDER BY recorded", this.workflowUUID, funcID);
|
54
63
|
if (rows.length === 0 || rows.length > 2) {
|
55
64
|
this.logger.error("Unexpected! This should never happen. Returned rows: " + rows.toString());
|
56
65
|
throw new error_1.DBOSError("This should never happen. Returned rows: " + rows.toString());
|
@@ -61,7 +70,7 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
61
70
|
};
|
62
71
|
// recorded=false row will be first because we used ORDER BY.
|
63
72
|
res.txn_snapshot = rows[0].txn_snapshot;
|
64
|
-
if (rows.length
|
73
|
+
if (rows.length === 2) {
|
65
74
|
if (JSON.parse(rows[1].error) !== null) {
|
66
75
|
throw (0, serialize_error_1.deserializeError)(JSON.parse(rows[1].error));
|
67
76
|
}
|
@@ -99,10 +108,10 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
99
108
|
}
|
100
109
|
this.logger.debug(sqlStmt);
|
101
110
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
102
|
-
await this.#
|
111
|
+
await this.#dbosExec.userDatabase.queryWithClient(client, sqlStmt, ...values);
|
103
112
|
}
|
104
113
|
catch (error) {
|
105
|
-
if (this.#
|
114
|
+
if (this.#dbosExec.userDatabase.isKeyConflictError(error)) {
|
106
115
|
// Serialization and primary key conflict (Postgres).
|
107
116
|
throw new error_1.DBOSWorkflowConflictUUIDError(this.workflowUUID);
|
108
117
|
}
|
@@ -126,15 +135,31 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
126
135
|
*/
|
127
136
|
async recordGuardedOutput(client, funcID, output) {
|
128
137
|
const serialOutput = JSON.stringify(output);
|
129
|
-
const rows = await this.#
|
138
|
+
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "UPDATE dbos.transaction_outputs SET output=$1, txn_id=(select pg_current_xact_id_if_assigned()::text) WHERE workflow_uuid=$2 AND function_id=$3 RETURNING txn_id;", serialOutput, this.workflowUUID, funcID);
|
130
139
|
return rows[0].txn_id; // Must have a transaction ID because we inserted the guard before.
|
131
140
|
}
|
141
|
+
/**
|
142
|
+
* Write an unguarded operation's output to the database.
|
143
|
+
*/
|
144
|
+
async recordUnguardedOutput(client, funcID, output) {
|
145
|
+
const serialOutput = JSON.stringify(output);
|
146
|
+
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "INSERT INTO dbos.transaction_outputs (workflow_uuid, function_id, output, txn_id, txn_snapshot) VALUES ($1, $2, $3, (select pg_current_xact_id_if_assigned()::text), (select pg_current_snapshot()::text)) RETURNING txn_id;", this.workflowUUID, funcID, serialOutput);
|
147
|
+
return rows[0].txn_id;
|
148
|
+
}
|
132
149
|
/**
|
133
150
|
* Record an error in a guarded operation to the database.
|
134
151
|
*/
|
135
152
|
async recordGuardedError(client, funcID, err) {
|
136
153
|
const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(err));
|
137
|
-
await this.#
|
154
|
+
await this.#dbosExec.userDatabase.queryWithClient(client, "UPDATE dbos.transaction_outputs SET error=$1 WHERE workflow_uuid=$2 AND function_id=$3;", serialErr, this.workflowUUID, funcID);
|
155
|
+
}
|
156
|
+
/**
|
157
|
+
* Record an error in an unguarded operation to the database.
|
158
|
+
*/
|
159
|
+
async recordUnguardedError(client, funcID, err) {
|
160
|
+
const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(err));
|
161
|
+
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "INSERT INTO dbos.transaction_outputs (workflow_uuid, function_id, error, txn_id, txn_snapshot) VALUES ($1, $2, $3, (select pg_current_xact_id_if_assigned()::text), (select pg_current_snapshot()::text)) RETURNING txn_id;", this.workflowUUID, funcID, serialErr);
|
162
|
+
return rows[0].txn_id;
|
138
163
|
}
|
139
164
|
/**
|
140
165
|
* Invoke another workflow as its child workflow and return a workflow handle.
|
@@ -146,7 +171,7 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
146
171
|
// Note: cannot use invoke for childWorkflow because of potential recursive types on the workflow itself.
|
147
172
|
const funcId = this.functionIDGetIncrement();
|
148
173
|
const childUUID = this.workflowUUID + "-" + funcId;
|
149
|
-
return this.#
|
174
|
+
return this.#dbosExec.internalWorkflow(wf, { parentCtx: this, workflowUUID: childUUID }, this.workflowUUID, funcId, ...args);
|
150
175
|
}
|
151
176
|
/**
|
152
177
|
* Execute a transactional function.
|
@@ -155,7 +180,7 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
155
180
|
* If it encounters any other error, throw it.
|
156
181
|
*/
|
157
182
|
async transaction(txn, ...args) {
|
158
|
-
const config = this.#
|
183
|
+
const config = this.#dbosExec.transactionConfigMap.get(txn.name);
|
159
184
|
if (config === undefined) {
|
160
185
|
throw new error_1.DBOSNotRegisteredError(txn.name);
|
161
186
|
}
|
@@ -163,7 +188,7 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
163
188
|
let retryWaitMillis = 1;
|
164
189
|
const backoffFactor = 2;
|
165
190
|
const funcId = this.functionIDGetIncrement();
|
166
|
-
const span = this.#
|
191
|
+
const span = this.#dbosExec.tracer.startSpan(txn.name, {
|
167
192
|
workflowUUID: this.workflowUUID,
|
168
193
|
operationName: txn.name,
|
169
194
|
runAs: this.authenticatedUser,
|
@@ -173,18 +198,29 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
173
198
|
// eslint-disable-next-line no-constant-condition
|
174
199
|
while (true) {
|
175
200
|
const wrappedTransaction = async (client) => {
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
201
|
+
const tCtxt = new transaction_1.TransactionContextImpl(this.#dbosExec.userDatabase.getName(), client, this, span, this.#dbosExec.logger, funcId, txn.name);
|
202
|
+
// If the UUID is preset, it is possible this execution previously happened. Check, and return its original result if it did.
|
203
|
+
// Note: It is possible to retrieve a generated ID from a workflow handle, run a concurrent execution, and cause trouble for yourself. We recommend against this.
|
204
|
+
let txn_snapshot;
|
205
|
+
if (this.presetUUID) {
|
206
|
+
const check = await this.checkExecution(client, funcId);
|
207
|
+
txn_snapshot = check.txn_snapshot;
|
208
|
+
if (check.output !== dbos_executor_1.dbosNull) {
|
209
|
+
tCtxt.span.setAttribute("cached", true);
|
210
|
+
tCtxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
211
|
+
this.#dbosExec.tracer.endSpan(tCtxt.span);
|
212
|
+
return check.output;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
else if (readOnly) {
|
216
|
+
// Collect snapshot information for read-only transactions, if not already collected above
|
217
|
+
txn_snapshot = await this.retrieveSnapshot(client);
|
218
|
+
}
|
219
|
+
// If the UUID is preset, set a guard to block concurrent executions with the same UUID.
|
220
|
+
if (this.presetUUID) {
|
221
|
+
this.guardOperation(funcId, txn_snapshot);
|
184
222
|
}
|
185
|
-
//
|
186
|
-
// Flush the result buffer, setting a guard to block concurrent executions with the same UUID.
|
187
|
-
this.guardOperation(funcId, check.txn_snapshot);
|
223
|
+
// For non-read-only transactions, flush the result buffer, including the guard if present.
|
188
224
|
if (!readOnly) {
|
189
225
|
await this.flushResultBuffer(client);
|
190
226
|
}
|
@@ -195,25 +231,25 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
195
231
|
// Buffer the output of read-only transactions instead of synchronously writing it.
|
196
232
|
const guardOutput = {
|
197
233
|
output: result,
|
198
|
-
txn_snapshot:
|
234
|
+
txn_snapshot: txn_snapshot,
|
199
235
|
};
|
200
236
|
this.resultBuffer.set(funcId, guardOutput);
|
201
237
|
}
|
202
238
|
else {
|
203
239
|
// Synchronously record the output of write transactions and obtain the transaction ID.
|
204
|
-
const pg_txn_id = await this.recordGuardedOutput(client, funcId, result);
|
240
|
+
const pg_txn_id = this.presetUUID ? await this.recordGuardedOutput(client, funcId, result) : await this.recordUnguardedOutput(client, funcId, result);
|
205
241
|
tCtxt.span.setAttribute("transaction_id", pg_txn_id);
|
206
242
|
this.resultBuffer.clear();
|
207
243
|
}
|
208
244
|
return result;
|
209
245
|
};
|
210
246
|
try {
|
211
|
-
const result = await this.#
|
247
|
+
const result = await this.#dbosExec.userDatabase.transaction(wrappedTransaction, config);
|
212
248
|
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
213
249
|
return result;
|
214
250
|
}
|
215
251
|
catch (err) {
|
216
|
-
if (this.#
|
252
|
+
if (this.#dbosExec.userDatabase.isRetriableTransactionError(err)) {
|
217
253
|
// serialization_failure in PostgreSQL
|
218
254
|
span.addEvent("TXN SERIALIZATION FAILURE", { retryWaitMillis });
|
219
255
|
// Retry serialization failures.
|
@@ -223,16 +259,16 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
223
259
|
}
|
224
260
|
// Record and throw other errors.
|
225
261
|
const e = err;
|
226
|
-
await this.#
|
262
|
+
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
227
263
|
await this.flushResultBuffer(client);
|
228
|
-
await this.recordGuardedError(client, funcId, e);
|
264
|
+
this.presetUUID ? await this.recordGuardedError(client, funcId, e) : await this.recordUnguardedError(client, funcId, e);
|
229
265
|
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
230
266
|
this.resultBuffer.clear();
|
231
267
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e.message });
|
232
268
|
throw err;
|
233
269
|
}
|
234
270
|
finally {
|
235
|
-
this.#
|
271
|
+
this.#dbosExec.tracer.endSpan(span);
|
236
272
|
}
|
237
273
|
}
|
238
274
|
}
|
@@ -242,12 +278,12 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
242
278
|
* The communicator may execute many times, but once it is complete, it will not re-execute.
|
243
279
|
*/
|
244
280
|
async external(commFn, ...args) {
|
245
|
-
const commConfig = this.#
|
281
|
+
const commConfig = this.#dbosExec.communicatorConfigMap.get(commFn.name);
|
246
282
|
if (commConfig === undefined) {
|
247
283
|
throw new error_1.DBOSNotRegisteredError(commFn.name);
|
248
284
|
}
|
249
285
|
const funcID = this.functionIDGetIncrement();
|
250
|
-
const span = this.#
|
286
|
+
const span = this.#dbosExec.tracer.startSpan(commFn.name, {
|
251
287
|
workflowUUID: this.workflowUUID,
|
252
288
|
operationName: commFn.name,
|
253
289
|
runAs: this.authenticatedUser,
|
@@ -256,17 +292,17 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
256
292
|
maxAttempts: commConfig.maxAttempts,
|
257
293
|
backoffRate: commConfig.backoffRate,
|
258
294
|
}, this.span);
|
259
|
-
const ctxt = new communicator_1.CommunicatorContextImpl(this, funcID, span, this.#
|
260
|
-
await this.#
|
295
|
+
const ctxt = new communicator_1.CommunicatorContextImpl(this, funcID, span, this.#dbosExec.logger, commConfig, commFn.name);
|
296
|
+
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
261
297
|
await this.flushResultBuffer(client);
|
262
298
|
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
263
299
|
this.resultBuffer.clear();
|
264
300
|
// Check if this execution previously happened, returning its original result if it did.
|
265
|
-
const check = await this.#
|
301
|
+
const check = await this.#dbosExec.systemDatabase.checkOperationOutput(this.workflowUUID, ctxt.functionID);
|
266
302
|
if (check !== dbos_executor_1.dbosNull) {
|
267
303
|
ctxt.span.setAttribute("cached", true);
|
268
304
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
269
|
-
this.#
|
305
|
+
this.#dbosExec.tracer.endSpan(ctxt.span);
|
270
306
|
return check;
|
271
307
|
}
|
272
308
|
// Execute the communicator function. If it throws an exception, retry with exponential backoff.
|
@@ -287,7 +323,7 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
287
323
|
intervalSeconds *= ctxt.backoffRate;
|
288
324
|
}
|
289
325
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
|
290
|
-
this.#
|
326
|
+
this.#dbosExec.tracer.endSpan(ctxt.span);
|
291
327
|
}
|
292
328
|
}
|
293
329
|
}
|
@@ -298,23 +334,23 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
298
334
|
catch (error) {
|
299
335
|
err = error;
|
300
336
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
|
301
|
-
this.#
|
337
|
+
this.#dbosExec.tracer.endSpan(ctxt.span);
|
302
338
|
}
|
303
339
|
}
|
304
340
|
// `result` can only be dbosNull when the communicator timed out
|
305
341
|
if (result === dbos_executor_1.dbosNull) {
|
306
342
|
// Record the error, then throw it.
|
307
343
|
err = err === dbos_executor_1.dbosNull ? new error_1.DBOSError("Communicator reached maximum retries.", 1) : err;
|
308
|
-
await this.#
|
344
|
+
await this.#dbosExec.systemDatabase.recordOperationError(this.workflowUUID, ctxt.functionID, err);
|
309
345
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: err.message });
|
310
|
-
this.#
|
346
|
+
this.#dbosExec.tracer.endSpan(ctxt.span);
|
311
347
|
throw err;
|
312
348
|
}
|
313
349
|
else {
|
314
350
|
// Record the execution and return.
|
315
|
-
await this.#
|
351
|
+
await this.#dbosExec.systemDatabase.recordOperationOutput(this.workflowUUID, ctxt.functionID, result);
|
316
352
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
317
|
-
this.#
|
353
|
+
this.#dbosExec.tracer.endSpan(ctxt.span);
|
318
354
|
return result;
|
319
355
|
}
|
320
356
|
}
|
@@ -324,11 +360,11 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
324
360
|
*/
|
325
361
|
async send(destinationUUID, message, topic) {
|
326
362
|
const functionID = this.functionIDGetIncrement();
|
327
|
-
await this.#
|
363
|
+
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
328
364
|
await this.flushResultBuffer(client);
|
329
365
|
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
330
366
|
this.resultBuffer.clear();
|
331
|
-
await this.#
|
367
|
+
await this.#dbosExec.systemDatabase.send(this.workflowUUID, functionID, destinationUUID, message, topic);
|
332
368
|
}
|
333
369
|
/**
|
334
370
|
* Consume and return the oldest unconsumed message sent to your UUID.
|
@@ -337,11 +373,11 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
337
373
|
*/
|
338
374
|
async recv(topic, timeoutSeconds = dbos_executor_1.DBOSExecutor.defaultNotificationTimeoutSec) {
|
339
375
|
const functionID = this.functionIDGetIncrement();
|
340
|
-
await this.#
|
376
|
+
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
341
377
|
await this.flushResultBuffer(client);
|
342
378
|
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
343
379
|
this.resultBuffer.clear();
|
344
|
-
return this.#
|
380
|
+
return this.#dbosExec.systemDatabase.recv(this.workflowUUID, functionID, topic, timeoutSeconds);
|
345
381
|
}
|
346
382
|
/**
|
347
383
|
* Emit a workflow event, represented as a key-value pair.
|
@@ -349,11 +385,11 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
349
385
|
*/
|
350
386
|
async setEvent(key, value) {
|
351
387
|
const functionID = this.functionIDGetIncrement();
|
352
|
-
await this.#
|
388
|
+
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
353
389
|
await this.flushResultBuffer(client);
|
354
390
|
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
355
391
|
this.resultBuffer.clear();
|
356
|
-
await this.#
|
392
|
+
await this.#dbosExec.systemDatabase.setEvent(this.workflowUUID, functionID, key, value);
|
357
393
|
}
|
358
394
|
/**
|
359
395
|
* Generate a proxy object for the provided class that wraps direct calls (i.e. OpClass.someMethod(param))
|
@@ -379,14 +415,14 @@ class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
|
379
415
|
*/
|
380
416
|
getEvent(targetUUID, key, timeoutSeconds = dbos_executor_1.DBOSExecutor.defaultNotificationTimeoutSec) {
|
381
417
|
const functionID = this.functionIDGetIncrement();
|
382
|
-
return this.#
|
418
|
+
return this.#dbosExec.systemDatabase.getEvent(targetUUID, key, timeoutSeconds, this.workflowUUID, functionID);
|
383
419
|
}
|
384
420
|
/**
|
385
421
|
* Retrieve a handle for a workflow UUID.
|
386
422
|
*/
|
387
423
|
retrieveWorkflow(targetUUID) {
|
388
424
|
const functionID = this.functionIDGetIncrement();
|
389
|
-
return new RetrievedHandle(this.#
|
425
|
+
return new RetrievedHandle(this.#dbosExec.systemDatabase, targetUUID, this.workflowUUID, functionID);
|
390
426
|
}
|
391
427
|
}
|
392
428
|
exports.WorkflowContextImpl = WorkflowContextImpl;
|
package/dist/src/workflow.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/examples/hello/README.md
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dbos-inc/dbos-sdk",
|
3
|
-
"version": "0.7.
|
3
|
+
"version": "0.7.35",
|
4
4
|
"description": "A Typescript framework built on the database",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -16,7 +16,7 @@
|
|
16
16
|
"lint": "eslint --fix --ext .ts --ignore-pattern foundationdb/ .",
|
17
17
|
"lint-fdb": "eslint --fix --ext .ts .",
|
18
18
|
"setversion": "grunt setversion",
|
19
|
-
"test": "npx prisma generate --schema tests/prisma/schema.prisma && npm run build && jest --coverage --collectCoverageFrom='src/**/*' --collectCoverageFrom='!src/foundationdb/**/*' --detectOpenHandles --testPathIgnorePatterns=examples/* --testPathIgnorePatterns=tests/foundationdb/*
|
19
|
+
"test": "npx prisma generate --schema tests/prisma/schema.prisma && npm run build && jest --coverage --collectCoverageFrom='src/**/*' --collectCoverageFrom='!src/foundationdb/**/*' --detectOpenHandles --testPathIgnorePatterns=examples/* --testPathIgnorePatterns=tests/foundationdb/*",
|
20
20
|
"test-fdb": "npx prisma generate --schema tests/prisma/schema.prisma && npm run build-fdb && jest --runInBand --coverage"
|
21
21
|
},
|
22
22
|
"bin": {
|
@@ -1,34 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import { Client } from "pg";
|
3
|
-
import { TelemetryCollector } from "../telemetry/collector";
|
4
|
-
import { DBOSConfig } from "../dbos-executor";
|
5
|
-
/**
|
6
|
-
* A class implementing a daemon which collects and exports provenance information,
|
7
|
-
* specifically a record of all INSERTs, UPDATEs, and DELETEs in the target database.
|
8
|
-
* Only one daemon is needed per database. The daemon need not run in the same process as workflow runtime.
|
9
|
-
* The daemon has three requirements and will fail to launch if any is not met:
|
10
|
-
*
|
11
|
-
* 1. The database must be configured with wal_level=logical.
|
12
|
-
* 2. An open replication slot must be available.
|
13
|
-
* 3. The wal2json Postgres plugin must be installed. It is installed by default on most cloud databases, including RDS.
|
14
|
-
*
|
15
|
-
* Because the daemon depends on Postgres logical replication, it can only export information on updates and deletes in tables
|
16
|
-
* whose rows are uniquely identifiable, either because the table has a primary key or a replica identity.
|
17
|
-
*/
|
18
|
-
export declare class ProvenanceDaemon {
|
19
|
-
readonly slotName: string;
|
20
|
-
readonly client: Client;
|
21
|
-
readonly daemonID: NodeJS.Timeout;
|
22
|
-
readonly recordProvenanceIntervalMs = 1000;
|
23
|
-
readonly telemetryCollector: TelemetryCollector;
|
24
|
-
initialized: boolean;
|
25
|
-
/**
|
26
|
-
* @param dbosConfig An DBOS config defining exporters and database connection information.
|
27
|
-
* @param slotName The name of a logical replication slot. This slot is persistent and must be deleted if the daemon is no longer to be used.
|
28
|
-
*/
|
29
|
-
constructor(dbosConfig: DBOSConfig, slotName: string);
|
30
|
-
start(): Promise<void>;
|
31
|
-
recordProvenance(): Promise<void>;
|
32
|
-
stop(): Promise<void>;
|
33
|
-
}
|
34
|
-
//# sourceMappingURL=provenance_daemon.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"provenance_daemon.d.ts","sourceRoot":"","sources":["../../../src/provenance/provenance_daemon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,IAAI,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAqB9C;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAWS,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAV7D,QAAQ,CAAC,MAAM,SAAC;IAChB,QAAQ,CAAC,QAAQ,iBAAC;IAClB,QAAQ,CAAC,0BAA0B,QAAQ;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,WAAW,UAAS;IAEpB;;;OAGG;gBACS,UAAU,EAAE,UAAU,EAAW,QAAQ,EAAE,MAAM;IASvD,KAAK;IAkBL,gBAAgB;IAqBhB,IAAI;CAKX"}
|
@@ -1,86 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ProvenanceDaemon = void 0;
|
4
|
-
const pg_1 = require("pg");
|
5
|
-
const exporters_1 = require("../telemetry/exporters");
|
6
|
-
const collector_1 = require("../telemetry/collector");
|
7
|
-
/**
|
8
|
-
* A class implementing a daemon which collects and exports provenance information,
|
9
|
-
* specifically a record of all INSERTs, UPDATEs, and DELETEs in the target database.
|
10
|
-
* Only one daemon is needed per database. The daemon need not run in the same process as workflow runtime.
|
11
|
-
* The daemon has three requirements and will fail to launch if any is not met:
|
12
|
-
*
|
13
|
-
* 1. The database must be configured with wal_level=logical.
|
14
|
-
* 2. An open replication slot must be available.
|
15
|
-
* 3. The wal2json Postgres plugin must be installed. It is installed by default on most cloud databases, including RDS.
|
16
|
-
*
|
17
|
-
* Because the daemon depends on Postgres logical replication, it can only export information on updates and deletes in tables
|
18
|
-
* whose rows are uniquely identifiable, either because the table has a primary key or a replica identity.
|
19
|
-
*/
|
20
|
-
class ProvenanceDaemon {
|
21
|
-
slotName;
|
22
|
-
client;
|
23
|
-
daemonID;
|
24
|
-
recordProvenanceIntervalMs = 1000;
|
25
|
-
telemetryCollector;
|
26
|
-
initialized = false;
|
27
|
-
/**
|
28
|
-
* @param dbosConfig An DBOS config defining exporters and database connection information.
|
29
|
-
* @param slotName The name of a logical replication slot. This slot is persistent and must be deleted if the daemon is no longer to be used.
|
30
|
-
*/
|
31
|
-
constructor(dbosConfig, slotName) {
|
32
|
-
this.slotName = slotName;
|
33
|
-
this.client = new pg_1.Client(dbosConfig.poolConfig);
|
34
|
-
this.daemonID = setInterval(() => {
|
35
|
-
void this.recordProvenance();
|
36
|
-
}, this.recordProvenanceIntervalMs);
|
37
|
-
const telemetryExporters = [new exporters_1.PostgresExporter(dbosConfig.poolConfig, dbosConfig?.observability_database)];
|
38
|
-
this.telemetryCollector = new collector_1.TelemetryCollector(telemetryExporters);
|
39
|
-
}
|
40
|
-
async start() {
|
41
|
-
await this.client.connect();
|
42
|
-
// Create a logical replication slot with the given name.
|
43
|
-
try { // TODO: Make this robust to daemon crashes, so records are not consumed until they've been exported.
|
44
|
-
await this.client.query("SELECT pg_create_logical_replication_slot($1, 'wal2json');", [this.slotName]);
|
45
|
-
}
|
46
|
-
catch (error) {
|
47
|
-
const err = error;
|
48
|
-
if (err.code === "42710") {
|
49
|
-
// The slot has already been created.
|
50
|
-
}
|
51
|
-
else {
|
52
|
-
console.error(err);
|
53
|
-
throw err;
|
54
|
-
}
|
55
|
-
}
|
56
|
-
await this.telemetryCollector.init();
|
57
|
-
this.initialized = true;
|
58
|
-
}
|
59
|
-
async recordProvenance() {
|
60
|
-
if (this.initialized) {
|
61
|
-
const { rows } = await this.client.query("SELECT CAST(xid AS TEXT), data FROM pg_logical_slot_get_changes($1, NULL, NULL, 'filter-tables', 'dbos.*')", [this.slotName]);
|
62
|
-
for (const row of rows) {
|
63
|
-
const data = JSON.parse(row.data).change;
|
64
|
-
for (const change of data) {
|
65
|
-
const signal = {
|
66
|
-
provTransactionID: row.xid,
|
67
|
-
kind: change.kind,
|
68
|
-
schema: change.schema,
|
69
|
-
table: change.table,
|
70
|
-
columnnames: change.columnnames,
|
71
|
-
columntypes: change.columntypes,
|
72
|
-
columnvalues: change.columnvalues
|
73
|
-
};
|
74
|
-
this.telemetryCollector.push(signal);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}
|
79
|
-
async stop() {
|
80
|
-
clearInterval(this.daemonID);
|
81
|
-
await this.client.end();
|
82
|
-
await this.telemetryCollector.destroy();
|
83
|
-
}
|
84
|
-
}
|
85
|
-
exports.ProvenanceDaemon = ProvenanceDaemon;
|
86
|
-
//# sourceMappingURL=provenance_daemon.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"provenance_daemon.js","sourceRoot":"","sources":["../../../src/provenance/provenance_daemon.ts"],"names":[],"mappings":";;;AAAA,2BAA2C;AAC3C,sDAA0D;AAC1D,sDAA4D;AAsB5D;;;;;;;;;;;;GAYG;AACH,MAAa,gBAAgB;IAWkB;IAVpC,MAAM,CAAC;IACP,QAAQ,CAAC;IACT,0BAA0B,GAAG,IAAI,CAAC;IAClC,kBAAkB,CAAqB;IAChD,WAAW,GAAG,KAAK,CAAC;IAEpB;;;OAGG;IACH,YAAY,UAAsB,EAAW,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,WAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACpC,MAAM,kBAAkB,GAAG,CAAC,IAAI,4BAAgB,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,kBAAkB,GAAG,IAAI,8BAAkB,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5B,yDAAyD;QACzD,IAAI,EAAE,qGAAqG;YACzG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxG;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,GAAG,GAAkB,KAAsB,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;gBACxB,qCAAqC;aACtC;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,GAAG,CAAC;aACX;SACF;QACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAc,4GAA4G,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrL,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAC,MAAM,CAAC;gBAC3D,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE;oBACzB,MAAM,MAAM,GAAqB;wBAC/B,iBAAiB,EAAE,GAAG,CAAC,GAAG;wBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CAAA;oBACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtC;aACF;SACF;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;CACF;AAhED,4CAgEC"}
|