@dbos-inc/dbos-sdk 2.2.10-preview.g90e74a1e32 → 2.3.9-preview
Sign up to get free protection for your applications and to get access to all the features.
- package/.husky/pre-commit +1 -0
- package/.prettierignore +3 -0
- package/.prettierrc +9 -0
- package/CODE_OF_CONDUCT.md +24 -18
- package/CONTRIBUTING.md +12 -10
- package/README.md +2 -2
- package/compose.yaml +17 -17
- package/dbos-config.schema.json +4 -13
- package/dist/schemas/user_db_schema.d.ts.map +1 -1
- package/dist/schemas/user_db_schema.js.map +1 -1
- package/dist/src/context.d.ts +12 -12
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +9 -9
- package/dist/src/context.js.map +1 -1
- package/dist/src/data_validation.d.ts +1 -1
- package/dist/src/data_validation.d.ts.map +1 -1
- package/dist/src/data_validation.js +14 -8
- package/dist/src/data_validation.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +4 -3
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +152 -141
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts +3 -3
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +80 -39
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/authentication.d.ts +1 -1
- package/dist/src/dbos-runtime/cloudutils/authentication.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/authentication.js +14 -14
- package/dist/src/dbos-runtime/cloudutils/authentication.js.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts +2 -2
- package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/cloudutils.js +32 -32
- package/dist/src/dbos-runtime/cloudutils/cloudutils.js.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/databases.d.ts +2 -2
- package/dist/src/dbos-runtime/cloudutils/databases.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cloudutils/databases.js +25 -21
- package/dist/src/dbos-runtime/cloudutils/databases.js.map +1 -1
- package/dist/src/dbos-runtime/commands.d.ts +1 -1
- package/dist/src/dbos-runtime/commands.js +9 -9
- package/dist/src/dbos-runtime/config.d.ts +7 -7
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +39 -23
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos-runtime/configure.d.ts.map +1 -1
- package/dist/src/dbos-runtime/configure.js.map +1 -1
- package/dist/src/dbos-runtime/db_connection.d.ts.map +1 -1
- package/dist/src/dbos-runtime/db_connection.js +2 -2
- package/dist/src/dbos-runtime/db_connection.js.map +1 -1
- package/dist/src/dbos-runtime/db_wizard.d.ts +1 -1
- package/dist/src/dbos-runtime/db_wizard.d.ts.map +1 -1
- package/dist/src/dbos-runtime/db_wizard.js +18 -18
- package/dist/src/dbos-runtime/db_wizard.js.map +1 -1
- package/dist/src/dbos-runtime/debug.d.ts +3 -3
- package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
- package/dist/src/dbos-runtime/debug.js +7 -12
- package/dist/src/dbos-runtime/debug.js.map +1 -1
- package/dist/src/dbos-runtime/migrate.d.ts +2 -2
- package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
- package/dist/src/dbos-runtime/migrate.js +14 -10
- package/dist/src/dbos-runtime/migrate.js.map +1 -1
- package/dist/src/dbos-runtime/reset.d.ts +2 -2
- package/dist/src/dbos-runtime/reset.js +2 -2
- package/dist/src/dbos-runtime/reset.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +4 -4
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.d.ts +5 -4
- package/dist/src/dbos-runtime/workflow_management.d.ts.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.js +34 -14
- package/dist/src/dbos-runtime/workflow_management.js.map +1 -1
- package/dist/src/dbos.d.ts +23 -23
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +59 -59
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/debugpoint.d.ts.map +1 -1
- package/dist/src/debugpoint.js +4 -4
- package/dist/src/debugpoint.js.map +1 -1
- package/dist/src/decorators.d.ts +8 -8
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +36 -33
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +6 -5
- package/dist/src/error.js.map +1 -1
- package/dist/src/eventreceiver.d.ts +1 -1
- package/dist/src/eventreceiver.d.ts.map +1 -1
- package/dist/src/httpServer/handler.d.ts +8 -8
- package/dist/src/httpServer/handler.d.ts.map +1 -1
- package/dist/src/httpServer/handler.js.map +1 -1
- package/dist/src/httpServer/handlerTypes.d.ts.map +1 -1
- package/dist/src/httpServer/handlerTypes.js.map +1 -1
- package/dist/src/httpServer/middleware.d.ts +9 -9
- package/dist/src/httpServer/middleware.d.ts.map +1 -1
- package/dist/src/httpServer/middleware.js +6 -6
- package/dist/src/httpServer/middleware.js.map +1 -1
- package/dist/src/httpServer/server.d.ts +2 -2
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +27 -33
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/index.d.ts +16 -16
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/kafka/kafka.d.ts.map +1 -1
- package/dist/src/kafka/kafka.js +2 -2
- package/dist/src/kafka/kafka.js.map +1 -1
- package/dist/src/procedure.d.ts +6 -6
- package/dist/src/procedure.d.ts.map +1 -1
- package/dist/src/procedure.js.map +1 -1
- package/dist/src/scheduler/crontab.d.ts.map +1 -1
- package/dist/src/scheduler/crontab.js +54 -33
- package/dist/src/scheduler/crontab.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +3 -3
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +7 -7
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/step.d.ts +4 -4
- package/dist/src/step.d.ts.map +1 -1
- package/dist/src/step.js.map +1 -1
- package/dist/src/system_database.d.ts +20 -13
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +168 -60
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/telemetry/collector.d.ts +3 -3
- package/dist/src/telemetry/exporters.d.ts +1 -1
- package/dist/src/telemetry/exporters.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +5 -5
- package/dist/src/telemetry/logs.d.ts +4 -4
- package/dist/src/telemetry/logs.d.ts.map +1 -1
- package/dist/src/telemetry/logs.js +18 -18
- package/dist/src/telemetry/logs.js.map +1 -1
- package/dist/src/telemetry/traces.d.ts +3 -3
- package/dist/src/telemetry/traces.js +7 -7
- package/dist/src/testing/testing_runtime.d.ts +11 -11
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +15 -8
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/transaction.d.ts +6 -6
- package/dist/src/transaction.d.ts.map +1 -1
- package/dist/src/transaction.js +4 -4
- package/dist/src/transaction.js.map +1 -1
- package/dist/src/user_database.d.ts +4 -4
- package/dist/src/user_database.d.ts.map +1 -1
- package/dist/src/user_database.js +45 -45
- package/dist/src/user_database.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +6 -12
- package/dist/src/utils.js.map +1 -1
- package/dist/src/wfqueue.d.ts +1 -1
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +8 -8
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/src/workflow.d.ts +22 -10
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +19 -18
- package/dist/src/workflow.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/eslint.config.js +29 -27
- package/migrations/20240123182943_schema.js +7 -8
- package/migrations/20240123183021_tables.js +52 -48
- package/migrations/20240123183025_indexes.js +11 -14
- package/migrations/20240123183030_triggers.js +7 -8
- package/migrations/20240124015239_status_timestamp.js +12 -18
- package/migrations/20240201213211_replica_identity.js +8 -11
- package/migrations/20240205223925_foreign_keys.js +40 -18
- package/migrations/20240207192338_executor_id_index.js +8 -10
- package/migrations/20240430090000_tables.js +8 -10
- package/migrations/20240516004341_application_version.js +10 -12
- package/migrations/20240517000000_status_class_config.js +10 -14
- package/migrations/20240621000000_workflow_tries.js +8 -12
- package/migrations/20240924000000_workflowqueue.js +32 -23
- package/migrations/20241009150000_event_dispatch_kv.js +12 -14
- package/migrations/20252101000000_workflow_queues_executor_id.js +7 -9
- package/package.json +9 -2
- package/src/dbos-runtime/cloudutils/README.md +1 -1
@@ -20,8 +20,8 @@ async function migrateSystemDatabase(systemPoolConfig) {
|
|
20
20
|
connection: systemPoolConfig,
|
21
21
|
migrations: {
|
22
22
|
directory: migrationsDirectory,
|
23
|
-
tableName: 'knex_migrations'
|
24
|
-
}
|
23
|
+
tableName: 'knex_migrations',
|
24
|
+
},
|
25
25
|
};
|
26
26
|
const knexDB = (0, knex_1.default)(knexConfig);
|
27
27
|
try {
|
@@ -58,8 +58,8 @@ class PostgresSystemDatabase {
|
|
58
58
|
client: 'pg',
|
59
59
|
connection: this.systemPoolConfig,
|
60
60
|
pool: {
|
61
|
-
max: 2
|
62
|
-
}
|
61
|
+
max: 2,
|
62
|
+
},
|
63
63
|
};
|
64
64
|
this.knexDB = (0, knex_1.default)(knexConfig);
|
65
65
|
}
|
@@ -125,11 +125,12 @@ class PostgresSystemDatabase {
|
|
125
125
|
executor_id,
|
126
126
|
application_version,
|
127
127
|
application_id,
|
128
|
-
created_at
|
129
|
-
|
128
|
+
created_at,
|
129
|
+
recovery_attempts
|
130
|
+
) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
|
130
131
|
ON CONFLICT (workflow_uuid)
|
131
132
|
DO UPDATE SET
|
132
|
-
recovery_attempts =
|
133
|
+
recovery_attempts = workflow_status.recovery_attempts + 1
|
133
134
|
RETURNING recovery_attempts, status, name, class_name, config_name, queue_name`, [
|
134
135
|
initStatus.workflowUUID,
|
135
136
|
initStatus.status,
|
@@ -146,15 +147,15 @@ class PostgresSystemDatabase {
|
|
146
147
|
initStatus.applicationVersion,
|
147
148
|
initStatus.applicationID,
|
148
149
|
initStatus.createdAt,
|
149
|
-
initStatus.
|
150
|
+
initStatus.status === workflow_1.StatusString.ENQUEUED ? 0 : 1,
|
150
151
|
]);
|
151
152
|
// Check the started workflow matches the expected name, class_name, config_name, and queue_name
|
152
153
|
// A mismatch indicates a workflow starting with the same UUID but different functions, which should not be allowed.
|
153
154
|
const resRow = result.rows[0];
|
154
|
-
initStatus.configName = initStatus.configName ||
|
155
|
-
resRow.config_name = resRow.config_name ||
|
155
|
+
initStatus.configName = initStatus.configName || '';
|
156
|
+
resRow.config_name = resRow.config_name || '';
|
156
157
|
resRow.queue_name = resRow.queue_name === null ? undefined : resRow.queue_name; // Convert null in SQL to undefined
|
157
|
-
let msg =
|
158
|
+
let msg = '';
|
158
159
|
if (resRow.name !== initStatus.name) {
|
159
160
|
msg = `Workflow already exists with a different function name: ${resRow.name}, but the provided function name is: ${initStatus.name}`;
|
160
161
|
}
|
@@ -168,14 +169,18 @@ class PostgresSystemDatabase {
|
|
168
169
|
// This is a warning because a different queue name is not necessarily an error.
|
169
170
|
this.logger.warn(`Workflow (${initStatus.workflowUUID}) already exists in queue: ${resRow.queue_name}, but the provided queue name is: ${initStatus.queueName}. The queue is not updated.`);
|
170
171
|
}
|
171
|
-
if (msg !==
|
172
|
+
if (msg !== '') {
|
172
173
|
throw new error_1.DBOSConflictingWorkflowError(initStatus.workflowUUID, msg);
|
173
174
|
}
|
174
|
-
|
175
|
-
|
175
|
+
// recovery_attempt means "attempts" (we kept the name for backward compatibility). It's default value is 1.
|
176
|
+
// Every time we init the status, we increment `recovery_attempts` by 1.
|
177
|
+
// Thus, when this number becomes equal to `maxRetries + 1`, we should mark the workflow as `RETRIES_EXCEEDED`.
|
178
|
+
const attempts = resRow.recovery_attempts;
|
179
|
+
if (attempts > initStatus.maxRetries + 1) {
|
176
180
|
await this.pool.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status SET status=$1 WHERE workflow_uuid=$2 AND status=$3`, [workflow_1.StatusString.RETRIES_EXCEEDED, initStatus.workflowUUID, workflow_1.StatusString.PENDING]);
|
177
181
|
throw new error_1.DBOSDeadLetterQueueError(initStatus.workflowUUID, initStatus.maxRetries);
|
178
182
|
}
|
183
|
+
this.logger.debug(`Workflow ${initStatus.workflowUUID} attempt number: ${attempts}.`);
|
179
184
|
const status = resRow.status;
|
180
185
|
const serializedInputs = utils_1.DBOSJSON.stringify(args);
|
181
186
|
const { rows } = await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO UPDATE SET workflow_uuid = excluded.workflow_uuid RETURNING inputs`, [initStatus.workflowUUID, serializedInputs]);
|
@@ -208,7 +213,7 @@ class PostgresSystemDatabase {
|
|
208
213
|
const batchUUIDs = [];
|
209
214
|
for (const [workflowUUID, status] of localBuffer) {
|
210
215
|
if (paramCnt > 1) {
|
211
|
-
sqlStmt +=
|
216
|
+
sqlStmt += ', ';
|
212
217
|
}
|
213
218
|
sqlStmt += `($${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++})`;
|
214
219
|
values.push(workflowUUID, status.status, status.name, status.authenticatedUser, status.assumedRole, utils_1.DBOSJSON.stringify(status.authenticatedRoles), utils_1.DBOSJSON.stringify(status.request), utils_1.DBOSJSON.stringify(status.output), status.executorID, status.applicationVersion, status.applicationID, status.createdAt, Date.now(), status.className, status.configName, status.queueName);
|
@@ -219,7 +224,8 @@ class PostgresSystemDatabase {
|
|
219
224
|
break;
|
220
225
|
}
|
221
226
|
}
|
222
|
-
sqlStmt +=
|
227
|
+
sqlStmt +=
|
228
|
+
' ON CONFLICT (workflow_uuid) DO UPDATE SET status=EXCLUDED.status, output=EXCLUDED.output, updated_at=EXCLUDED.updated_at;';
|
223
229
|
await this.pool.query(sqlStmt, values);
|
224
230
|
// Clean up after each batch succeeds
|
225
231
|
batchUUIDs.forEach((value) => {
|
@@ -281,8 +287,11 @@ class PostgresSystemDatabase {
|
|
281
287
|
]);
|
282
288
|
}
|
283
289
|
async getPendingWorkflows(executorID) {
|
284
|
-
const { rows } = await this.pool.query(`SELECT workflow_uuid FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
|
285
|
-
return rows.map(i =>
|
290
|
+
const { rows } = await this.pool.query(`SELECT workflow_uuid, queue_name FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
|
291
|
+
return rows.map((i) => ({
|
292
|
+
workflowUUID: i.workflow_uuid,
|
293
|
+
queueName: i.queue_name,
|
294
|
+
}));
|
286
295
|
}
|
287
296
|
bufferWorkflowInputs(workflowUUID, args) {
|
288
297
|
this.workflowInputsBuffer.set(workflowUUID, args);
|
@@ -305,7 +314,7 @@ class PostgresSystemDatabase {
|
|
305
314
|
continue;
|
306
315
|
}
|
307
316
|
if (paramCnt > 1) {
|
308
|
-
sqlStmt +=
|
317
|
+
sqlStmt += ', ';
|
309
318
|
}
|
310
319
|
sqlStmt += `($${paramCnt++}, $${paramCnt++})`;
|
311
320
|
values.push(workflowUUID, utils_1.DBOSJSON.stringify(args));
|
@@ -316,10 +325,12 @@ class PostgresSystemDatabase {
|
|
316
325
|
}
|
317
326
|
}
|
318
327
|
if (batchUUIDs.length > 0) {
|
319
|
-
sqlStmt +=
|
328
|
+
sqlStmt += ' ON CONFLICT (workflow_uuid) DO NOTHING;';
|
320
329
|
await this.pool.query(sqlStmt, values);
|
321
330
|
// Clean up after each batch succeeds
|
322
|
-
batchUUIDs.forEach((value) => {
|
331
|
+
batchUUIDs.forEach((value) => {
|
332
|
+
localBuffer.delete(value);
|
333
|
+
});
|
323
334
|
}
|
324
335
|
}
|
325
336
|
}
|
@@ -363,7 +374,7 @@ class PostgresSystemDatabase {
|
|
363
374
|
}
|
364
375
|
catch (error) {
|
365
376
|
const err = error;
|
366
|
-
if (err.code ===
|
377
|
+
if (err.code === '40001' || err.code === '23505') {
|
367
378
|
// Serialization and primary key conflict (Postgres).
|
368
379
|
throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
|
369
380
|
}
|
@@ -379,7 +390,7 @@ class PostgresSystemDatabase {
|
|
379
390
|
}
|
380
391
|
catch (error) {
|
381
392
|
const err = error;
|
382
|
-
if (err.code ===
|
393
|
+
if (err.code === '40001' || err.code === '23505') {
|
383
394
|
// Serialization and primary key conflict (Postgres).
|
384
395
|
throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
|
385
396
|
}
|
@@ -397,7 +408,7 @@ class PostgresSystemDatabase {
|
|
397
408
|
}
|
398
409
|
catch (error) {
|
399
410
|
const err = error;
|
400
|
-
if (err.code ===
|
411
|
+
if (err.code === '40001' || err.code === '23505') {
|
401
412
|
// Serialization and primary key conflict (Postgres).
|
402
413
|
throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
|
403
414
|
}
|
@@ -420,25 +431,25 @@ class PostgresSystemDatabase {
|
|
420
431
|
return;
|
421
432
|
}
|
422
433
|
}
|
423
|
-
nullTopic =
|
434
|
+
nullTopic = '__null__topic__';
|
424
435
|
async send(workflowUUID, functionID, destinationUUID, message, topic) {
|
425
436
|
topic = topic ?? this.nullTopic;
|
426
437
|
const client = await this.pool.connect();
|
427
|
-
await client.query(
|
438
|
+
await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
|
428
439
|
try {
|
429
440
|
const { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
|
430
441
|
if (rows.length > 0) {
|
431
|
-
await client.query(
|
442
|
+
await client.query('ROLLBACK');
|
432
443
|
return;
|
433
444
|
}
|
434
445
|
await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications (destination_uuid, topic, message) VALUES ($1, $2, $3);`, [destinationUUID, topic, utils_1.DBOSJSON.stringify(message)]);
|
435
446
|
await this.recordNotificationOutput(client, workflowUUID, functionID, undefined);
|
436
|
-
await client.query(
|
447
|
+
await client.query('COMMIT');
|
437
448
|
}
|
438
449
|
catch (error) {
|
439
|
-
await client.query(
|
450
|
+
await client.query('ROLLBACK');
|
440
451
|
const err = error;
|
441
|
-
if (err.code ===
|
452
|
+
if (err.code === '23503') {
|
442
453
|
// Foreign key constraint violation (only expected for the INSERT query)
|
443
454
|
throw new error_1.DBOSNonExistentWorkflowError(`Sent to non-existent destination workflow UUID: ${destinationUUID}`);
|
444
455
|
}
|
@@ -525,10 +536,10 @@ class PostgresSystemDatabase {
|
|
525
536
|
async setEvent(workflowUUID, functionID, key, message) {
|
526
537
|
const client = await this.pool.connect();
|
527
538
|
try {
|
528
|
-
await client.query(
|
539
|
+
await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
|
529
540
|
let { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
|
530
541
|
if (rows.length > 0) {
|
531
|
-
await client.query(
|
542
|
+
await client.query('ROLLBACK');
|
532
543
|
return;
|
533
544
|
}
|
534
545
|
({ rows } = await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_events (workflow_uuid, key, value)
|
@@ -537,7 +548,7 @@ class PostgresSystemDatabase {
|
|
537
548
|
DO UPDATE SET value = $3
|
538
549
|
RETURNING workflow_uuid;`, [workflowUUID, key, utils_1.DBOSJSON.stringify(message)]));
|
539
550
|
await this.recordNotificationOutput(client, workflowUUID, functionID, undefined);
|
540
|
-
await client.query(
|
551
|
+
await client.query('COMMIT');
|
541
552
|
}
|
542
553
|
catch (e) {
|
543
554
|
this.logger.error(e);
|
@@ -622,6 +633,56 @@ class PostgresSystemDatabase {
|
|
622
633
|
await this.pool.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status SET recovery_attempts=0 WHERE workflow_uuid=$1`, [workflowUUID]);
|
623
634
|
}
|
624
635
|
}
|
636
|
+
async cancelWorkflow(workflowUUID) {
|
637
|
+
const client = await this.pool.connect();
|
638
|
+
try {
|
639
|
+
await client.query('BEGIN');
|
640
|
+
// Remove workflow from queues table
|
641
|
+
await client.query(`DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
|
642
|
+
WHERE workflow_uuid = $1`, [workflowUUID]);
|
643
|
+
await client.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
|
644
|
+
SET status = $1
|
645
|
+
WHERE workflow_uuid = $2`, [workflow_1.StatusString.CANCELLED, workflowUUID]);
|
646
|
+
await client.query('COMMIT');
|
647
|
+
}
|
648
|
+
catch (error) {
|
649
|
+
await client.query('ROLLBACK');
|
650
|
+
throw error;
|
651
|
+
}
|
652
|
+
finally {
|
653
|
+
client.release();
|
654
|
+
}
|
655
|
+
}
|
656
|
+
async resumeWorkflow(workflowUUID) {
|
657
|
+
const client = await this.pool.connect();
|
658
|
+
try {
|
659
|
+
await client.query('BEGIN');
|
660
|
+
// Check workflow status. If it is complete, do nothing.
|
661
|
+
const statusResult = await client.query(`SELECT status FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
|
662
|
+
WHERE workflow_uuid = $1`, [workflowUUID]);
|
663
|
+
if (statusResult.rows.length === 0 ||
|
664
|
+
statusResult.rows[0].status === workflow_1.StatusString.SUCCESS ||
|
665
|
+
statusResult.rows[0].status === workflow_1.StatusString.ERROR) {
|
666
|
+
await client.query('COMMIT');
|
667
|
+
return;
|
668
|
+
}
|
669
|
+
// Remove the workflow from the queues table so resume can safely be called on an ENQUEUED workflow
|
670
|
+
await client.query(`DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
|
671
|
+
WHERE workflow_uuid = $1`, [workflowUUID]);
|
672
|
+
// Update status to pending and reset recovery attempts
|
673
|
+
await client.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
|
674
|
+
SET status = $1, recovery_attempts = 0
|
675
|
+
WHERE workflow_uuid = $2`, [workflow_1.StatusString.PENDING, workflowUUID]);
|
676
|
+
await client.query('COMMIT');
|
677
|
+
}
|
678
|
+
catch (error) {
|
679
|
+
await client.query('ROLLBACK');
|
680
|
+
throw error;
|
681
|
+
}
|
682
|
+
finally {
|
683
|
+
client.release();
|
684
|
+
}
|
685
|
+
}
|
625
686
|
async getWorkflowStatus(workflowUUID, callerUUID, functionID) {
|
626
687
|
// Check if the operation has been done before for OAOO (only do this inside a workflow).
|
627
688
|
if (callerUUID !== undefined && functionID !== undefined) {
|
@@ -636,8 +697,8 @@ class PostgresSystemDatabase {
|
|
636
697
|
value = {
|
637
698
|
status: rows[0].status,
|
638
699
|
workflowName: rows[0].name,
|
639
|
-
workflowClassName: rows[0].class_name ||
|
640
|
-
workflowConfigName: rows[0].config_name ||
|
700
|
+
workflowClassName: rows[0].class_name || '',
|
701
|
+
workflowConfigName: rows[0].config_name || '',
|
641
702
|
queueName: rows[0].queue_name || undefined,
|
642
703
|
authenticatedUser: rows[0].authenticated_user,
|
643
704
|
assumedRole: rows[0].assumed_role,
|
@@ -674,8 +735,8 @@ class PostgresSystemDatabase {
|
|
674
735
|
*/
|
675
736
|
async listenForNotifications() {
|
676
737
|
this.notificationsClient = await this.pool.connect();
|
677
|
-
await this.notificationsClient.query(
|
678
|
-
await this.notificationsClient.query(
|
738
|
+
await this.notificationsClient.query('LISTEN dbos_notifications_channel;');
|
739
|
+
await this.notificationsClient.query('LISTEN dbos_workflow_events_channel;');
|
679
740
|
const handler = (msg) => {
|
680
741
|
if (msg.channel === 'dbos_notifications_channel') {
|
681
742
|
if (msg.payload && msg.payload in this.notificationsMap) {
|
@@ -688,7 +749,7 @@ class PostgresSystemDatabase {
|
|
688
749
|
}
|
689
750
|
}
|
690
751
|
};
|
691
|
-
this.notificationsClient.on(
|
752
|
+
this.notificationsClient.on('notification', handler);
|
692
753
|
}
|
693
754
|
// Event dispatcher queries / updates
|
694
755
|
async getEventDispatchState(svc, wfn, key) {
|
@@ -707,7 +768,9 @@ class PostgresSystemDatabase {
|
|
707
768
|
key: res.rows[0].key,
|
708
769
|
value: res.rows[0].value,
|
709
770
|
updateTime: res.rows[0].update_time,
|
710
|
-
updateSeq:
|
771
|
+
updateSeq: res.rows[0].update_seq !== null && res.rows[0].update_seq !== undefined
|
772
|
+
? BigInt(res.rows[0].update_seq)
|
773
|
+
: undefined,
|
711
774
|
};
|
712
775
|
}
|
713
776
|
async queryEventDispatchState(input) {
|
@@ -741,7 +804,7 @@ class PostgresSystemDatabase {
|
|
741
804
|
key: row.key,
|
742
805
|
value: row.value,
|
743
806
|
updateTime: row.update_time,
|
744
|
-
updateSeq:
|
807
|
+
updateSeq: row.update_seq !== undefined && row.update_seq !== null ? BigInt(row.update_seq) : undefined,
|
745
808
|
};
|
746
809
|
});
|
747
810
|
return ers;
|
@@ -759,21 +822,16 @@ class PostgresSystemDatabase {
|
|
759
822
|
(event_dispatch_kv.update_time IS NULL and event_dispatch_kv.update_seq IS NULL))
|
760
823
|
THEN EXCLUDED.value ELSE event_dispatch_kv.value END
|
761
824
|
RETURNING value, update_time, update_seq;
|
762
|
-
`, [
|
763
|
-
state.service,
|
764
|
-
state.workflowFnName,
|
765
|
-
state.key,
|
766
|
-
state.value,
|
767
|
-
state.updateTime,
|
768
|
-
state.updateSeq,
|
769
|
-
]);
|
825
|
+
`, [state.service, state.workflowFnName, state.key, state.value, state.updateTime, state.updateSeq]);
|
770
826
|
return {
|
771
827
|
service: state.service,
|
772
828
|
workflowFnName: state.workflowFnName,
|
773
829
|
key: state.key,
|
774
830
|
value: res.rows[0].value,
|
775
831
|
updateTime: res.rows[0].update_time,
|
776
|
-
updateSeq:
|
832
|
+
updateSeq: res.rows[0].update_seq !== undefined && res.rows[0].update_seq !== null
|
833
|
+
? BigInt(res.rows[0].update_seq)
|
834
|
+
: undefined,
|
777
835
|
};
|
778
836
|
}
|
779
837
|
async getWorkflows(input) {
|
@@ -800,9 +858,37 @@ class PostgresSystemDatabase {
|
|
800
858
|
query = query.limit(input.limit);
|
801
859
|
}
|
802
860
|
const rows = await query.select('workflow_uuid');
|
803
|
-
const workflowUUIDs = rows.map(row => row.workflow_uuid);
|
861
|
+
const workflowUUIDs = rows.map((row) => row.workflow_uuid);
|
804
862
|
return {
|
805
|
-
workflowUUIDs: workflowUUIDs
|
863
|
+
workflowUUIDs: workflowUUIDs,
|
864
|
+
};
|
865
|
+
}
|
866
|
+
async getQueuedWorkflows(input) {
|
867
|
+
let query = this.knexDB(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue`)
|
868
|
+
.join(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status`, `${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue.workflow_uuid`, '=', `${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.workflow_uuid`)
|
869
|
+
.orderBy(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, 'desc');
|
870
|
+
if (input.workflowName) {
|
871
|
+
query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.name = ?`, [input.workflowName]);
|
872
|
+
}
|
873
|
+
if (input.queueName) {
|
874
|
+
query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.queue_name = ?`, [input.queueName]);
|
875
|
+
}
|
876
|
+
if (input.startTime) {
|
877
|
+
query = query.where(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, '>=', new Date(input.startTime).getTime());
|
878
|
+
}
|
879
|
+
if (input.endTime) {
|
880
|
+
query = query.where(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, '<=', new Date(input.endTime).getTime());
|
881
|
+
}
|
882
|
+
if (input.status) {
|
883
|
+
query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.status = ?`, [input.status]);
|
884
|
+
}
|
885
|
+
if (input.limit) {
|
886
|
+
query = query.limit(input.limit);
|
887
|
+
}
|
888
|
+
const rows = await query.select(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.workflow_uuid`);
|
889
|
+
const workflowUUIDs = rows.map((row) => row.workflow_uuid);
|
890
|
+
return {
|
891
|
+
workflowUUIDs: workflowUUIDs,
|
806
892
|
};
|
807
893
|
}
|
808
894
|
async getWorkflowQueue(input) {
|
@@ -823,6 +909,7 @@ class PostgresSystemDatabase {
|
|
823
909
|
const workflows = rows.map((row) => {
|
824
910
|
return {
|
825
911
|
workflowID: row.workflow_uuid,
|
912
|
+
executorID: row.executor_id,
|
826
913
|
queueName: row.queue_name,
|
827
914
|
createdAt: row.created_at_epoch_ms,
|
828
915
|
startedAt: row.started_at_epoch_ms,
|
@@ -832,24 +919,48 @@ class PostgresSystemDatabase {
|
|
832
919
|
return { workflows };
|
833
920
|
}
|
834
921
|
async enqueueWorkflow(workflowId, queue) {
|
835
|
-
|
922
|
+
await this.pool.query(`
|
836
923
|
INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue (workflow_uuid, queue_name)
|
837
924
|
VALUES ($1, $2)
|
838
925
|
ON CONFLICT (workflow_uuid)
|
839
926
|
DO NOTHING;
|
840
927
|
`, [workflowId, queue.name]);
|
841
928
|
}
|
929
|
+
async clearQueueAssignment(workflowId) {
|
930
|
+
const client = await this.pool.connect();
|
931
|
+
try {
|
932
|
+
await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
|
933
|
+
await client.query(`
|
934
|
+
UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
|
935
|
+
SET started_at_epoch_ms = NULL, executor_id = NULL
|
936
|
+
WHERE workflow_uuid = $1;
|
937
|
+
`, [workflowId]);
|
938
|
+
await client.query(`
|
939
|
+
UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
|
940
|
+
SET status = $2, executor_id = NULL
|
941
|
+
WHERE workflow_uuid = $1;
|
942
|
+
`, [workflowId, workflow_1.StatusString.ENQUEUED]);
|
943
|
+
await client.query('COMMIT');
|
944
|
+
}
|
945
|
+
catch (error) {
|
946
|
+
await client.query('ROLLBACK');
|
947
|
+
throw error;
|
948
|
+
}
|
949
|
+
finally {
|
950
|
+
client.release();
|
951
|
+
}
|
952
|
+
}
|
842
953
|
async dequeueWorkflow(workflowId, queue) {
|
843
954
|
if (queue.rateLimit) {
|
844
955
|
const time = new Date().getTime();
|
845
|
-
|
956
|
+
await this.pool.query(`
|
846
957
|
UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
|
847
958
|
SET completed_at_epoch_ms = $2
|
848
959
|
WHERE workflow_uuid = $1;
|
849
960
|
`, [workflowId, time]);
|
850
961
|
}
|
851
962
|
else {
|
852
|
-
|
963
|
+
await this.pool.query(`
|
853
964
|
DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
|
854
965
|
WHERE workflow_uuid = $1;
|
855
966
|
`, [workflowId]);
|
@@ -880,8 +991,7 @@ class PostgresSystemDatabase {
|
|
880
991
|
.whereNull('completed_at_epoch_ms')
|
881
992
|
.andWhere('queue_name', queue.name)
|
882
993
|
.andWhere(function () {
|
883
|
-
void this.whereNull(
|
884
|
-
.orWhere("executor_id", executorID);
|
994
|
+
void this.whereNull('executor_id').orWhere('executor_id', executorID);
|
885
995
|
})
|
886
996
|
.select();
|
887
997
|
query = query.orderBy('created_at_epoch_ms', 'asc');
|
@@ -894,9 +1004,7 @@ class PostgresSystemDatabase {
|
|
894
1004
|
// From the functions retrieved, get the workflow IDs of the functions
|
895
1005
|
// that have not yet been started so we can start them.
|
896
1006
|
const rows = await query.select(['workflow_uuid', 'started_at_epoch_ms', 'executor_id']);
|
897
|
-
const workflowIDs = rows
|
898
|
-
.filter((row) => !row.started_at_epoch_ms)
|
899
|
-
.map(row => row.workflow_uuid);
|
1007
|
+
const workflowIDs = rows.filter((row) => !row.started_at_epoch_ms).map((row) => row.workflow_uuid);
|
900
1008
|
for (const id of workflowIDs) {
|
901
1009
|
// If we have a rate limit, stop starting functions when the number
|
902
1010
|
// of functions started this period exceeds the limit.
|
@@ -919,7 +1027,7 @@ class PostgresSystemDatabase {
|
|
919
1027
|
// If we did not update this record, probably someone else did. Count in either case.
|
920
1028
|
++numRecentQueries;
|
921
1029
|
}
|
922
|
-
}, { isolationLevel:
|
1030
|
+
}, { isolationLevel: 'repeatable read' });
|
923
1031
|
// If we have a rate limit, garbage-collect all completed functions started
|
924
1032
|
// before the period. If there's no limiter, there's no need--they were
|
925
1033
|
// deleted on completion.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { ITelemetryExporter } from
|
2
|
-
import { Span } from
|
3
|
-
import { LogRecord } from
|
1
|
+
import { ITelemetryExporter } from './exporters';
|
2
|
+
import { Span } from '@opentelemetry/sdk-trace-base';
|
3
|
+
import { LogRecord } from '@opentelemetry/api-logs';
|
4
4
|
export type TelemetrySignal = LogRecord | Span;
|
5
5
|
export declare class TelemetryCollector {
|
6
6
|
readonly exporter?: ITelemetryExporter | undefined;
|