@dbos-inc/dbos-sdk 2.6.11-preview → 2.6.16-preview
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.
- package/dist/schemas/system_db_schema.d.ts +9 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/src/conductor/conductor.d.ts.map +1 -1
- package/dist/src/conductor/conductor.js +67 -27
- package/dist/src/conductor/conductor.js.map +1 -1
- package/dist/src/conductor/protocol.d.ts +22 -34
- package/dist/src/conductor/protocol.d.ts.map +1 -1
- package/dist/src/conductor/protocol.js +38 -45
- package/dist/src/conductor/protocol.js.map +1 -1
- package/dist/src/context.js +1 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +9 -0
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +100 -76
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +10 -0
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.d.ts +1 -0
- package/dist/src/dbos-runtime/workflow_management.d.ts.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.js +11 -8
- package/dist/src/dbos-runtime/workflow_management.js.map +1 -1
- package/dist/src/dbos.d.ts +17 -4
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +172 -24
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/error.d.ts +1 -1
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +2 -2
- package/dist/src/error.js.map +1 -1
- package/dist/src/system_database.d.ts +16 -9
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +68 -19
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +11 -4
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/workflow.js +2 -2
- package/dist/src/workflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/migrations/20250312171547_function_name_op_outputs.js +19 -0
- package/migrations/20250319190617_add_childid_opoutputs.js +19 -0
- package/package.json +1 -1
package/dist/src/context.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":";;;AACA,2CAAgF;AAChF,mCAA6B;AAK7B,
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":";;;AACA,2CAAgF;AAChF,mCAA6B;AAK7B,mCAAiD;AACjD,6CAAgD;AAIhD,mCAA6D;AAG7D,mCAAuC;AAsBvC,SAAS,mBAAmB,CAAC,GAAiB;IAC5C,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,GAAiB;IACpC,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,GAAG,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAiB;IACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,aAAa,GAAG,IAAI,+BAAiB,EAAgB,CAAC;AAEnE,SAAgB,sBAAsB;IACpC,OAAO,qBAAa,CAAC,QAAQ,EAAE,CAAC;AAClC,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB;IACnC,OAAO,qBAAa,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC;AACvC,CAAC;AAFD,sDAEC;AAED,SAAgB,wBAAwB;IACtC,MAAM,GAAG,GAAG,qBAAa,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,0CAAkC,CAAC,yBAAyB,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,4DAIC;AAED,SAAgB,4BAA4B;IAC1C,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,0CAAkC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAC;IACvC,OAAO,GAA0B,CAAC;AACpC,CAAC;AAPD,oEAOC;AAED,SAAgB,WAAW,CAAC,UAAmB;IAC7C,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,EAAE,yBAAyB,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,MAAM,CAAC;YACd,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,kCAWC;AAEM,KAAK,UAAU,kBAAkB,CAAI,GAAgB,EAAE,QAA0B;IACtF,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,yBAAyB,EAAE,GAAG,CAAC,YAAY;QAC3C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAZD,gDAYC;AAEM,KAAK,UAAU,qBAAqB,CAAI,GAAuB,EAAE,QAA0B;IAChG,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,yBAAyB,EAAE,GAAG,CAAC,YAAY;QAC3C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAZD,sDAYC;AAEM,KAAK,UAAU,iBAAiB,CAAI,GAAiB,EAAE,QAA0B;IACtF,OAAO,MAAM,qBAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAFD,8CAEC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,GAAmC,EACnC,QAA0B;IAE1B,6EAA6E;IAC7E,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAC3E,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,eAAe,EAAE,GAAG,CAAC,UAAU;QAC/B,SAAS,EAAE,IAAI;KAChB,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAjBD,8DAiBC;AAEM,KAAK,UAAU,wBAAwB,CAAI,GAA+B,EAAE,QAA0B;IAC3G,6EAA6E;IAC7E,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAC3E,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,eAAe,EAAE,GAAG,CAAC,UAAU;QAC/B,SAAS,EAAE,IAAI;KAChB,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAdD,4DAcC;AAEM,KAAK,UAAU,kBAAkB,CAAI,GAAoB,EAAE,QAA0B;IAC1F,6EAA6E;IAC7E,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;IAE3E,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,iBAAiB,EAAE,GAAG,CAAC,UAAU;QACjC,SAAS,EAAE,IAAI;KAChB,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAfD,gDAeC;AAEM,KAAK,UAAU,sBAAsB,CAAI,GAAoB,EAAE,QAA0B;IAC9F,uDAAuD;IACvD,OAAO,MAAM,qBAAa,CAAC,GAAG,CAC5B;QACE,GAAG;QACH,UAAU,EAAE,GAAG,CAAC,YAAY;KAC7B,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AATD,wDASC;AA+BD,MAAa,eAAe;IAWf;IACA;IAXX,OAAO,GAAgB,EAAE,CAAC,CAAC,6BAA6B;IACxD,iBAAiB,GAAW,EAAE,CAAC,CAAC,uCAAuC;IACvE,kBAAkB,GAAa,EAAE,CAAC,CAAC,qDAAqD;IACxF,WAAW,GAAW,EAAE,CAAC,CAAC,6EAA6E;IACvG,YAAY,GAAW,EAAE,CAAC,CAAC,4CAA4C;IACvE,UAAU,GAAW,oBAAY,CAAC,UAAU,CAAC,CAAC,mEAAmE;IACjH,aAAa,GAAW,oBAAY,CAAC,KAAK,CAAC,CAAC,oEAAoE;IACvG,MAAM,CAAa,CAAC,qDAAqD;IAElF,YACW,aAAqB,EACrB,IAAU,EACnB,MAAc,EACd,SAA2B;QAHlB,kBAAa,GAAb,aAAa,CAAQ;QACrB,SAAI,GAAJ,IAAI,CAAM;QAInB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACrD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YACzC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,mCAAmC;IACnC,iBAAiB,CAAU;IAG3B,SAAS,CAAI,GAAW,EAAE,YAAgB;QACxC,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7D,sGAAsG;QACtG,IAAI,KAAK,IAAI,YAAY,IAAI,OAAO,KAAK,KAAK,OAAO,YAAY,EAAE,CAAC;YAClE,MAAM,IAAI,8BAAsB,CAAC,GAAG,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAtCD,0CAsCC;AAED;;GAEG;AACH,MAAa,WAAW;IAOD;IANZ,MAAM,CAAS;IAExB,0BAA0B;IAClB,YAAY,CAAe;IAC3B,WAAW,CAAU;IAE7B,YAAqB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;IACjD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kIAAkI,CACnI,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kIAAkI,CACnI,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,WAAW,CAAI,GAAW,EAAE,GAAG,MAAiB;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IACjD,CAAC;IAID,SAAS,CAAI,GAAW,EAAE,YAAgB;QACxC,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACvD,sGAAsG;QACtG,IAAI,KAAK,IAAI,YAAY,IAAI,OAAO,KAAK,KAAK,OAAO,YAAY,EAAE,CAAC;YAClE,MAAM,IAAI,8BAAsB,CAAC,GAAG,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzCD,kCAyCC"}
|
@@ -68,6 +68,12 @@ export declare const OperationType: {
|
|
68
68
|
readonly COMMUNICATOR: "communicator";
|
69
69
|
readonly PROCEDURE: "procedure";
|
70
70
|
};
|
71
|
+
export declare const TempWorkflowType: {
|
72
|
+
readonly transaction: "transaction";
|
73
|
+
readonly procedure: "procedure";
|
74
|
+
readonly external: "external";
|
75
|
+
readonly send: "send";
|
76
|
+
};
|
71
77
|
export interface DBOSExecutorOptions {
|
72
78
|
systemDatabase?: SystemDatabase;
|
73
79
|
debugMode?: DebugMode;
|
@@ -137,11 +143,13 @@ export declare class DBOSExecutor implements DBOSExecutorContext {
|
|
137
143
|
internalWorkflow<T extends unknown[], R>(wf: Workflow<T, R>, params: InternalWorkflowParams, callerUUID?: string, callerFunctionID?: number, ...args: T): Promise<WorkflowHandle<R>>;
|
138
144
|
flushResultBuffer(client: UserDatabaseClient, resultBuffer: Map<number, BufferedResult>, workflowUUID: string): Promise<void>;
|
139
145
|
transaction<T extends unknown[], R>(txn: Transaction<T, R>, params: WorkflowParams, ...args: T): Promise<R>;
|
146
|
+
startTransactionTempWF<T extends unknown[], R>(txn: Transaction<T, R>, params: InternalWorkflowParams, callerUUID?: string, callerFunctionID?: number, ...args: T): Promise<WorkflowHandle<R>>;
|
140
147
|
callTransactionFunction<T extends unknown[], R>(txn: Transaction<T, R>, clsinst: ConfiguredInstance | null, wfCtx: WorkflowContextImpl, ...args: T): Promise<R>;
|
141
148
|
procedure<T extends unknown[], R>(proc: StoredProcedure<T, R>, params: WorkflowParams, ...args: T): Promise<R>;
|
142
149
|
callProcedureFunction<T extends unknown[], R>(proc: StoredProcedure<T, R>, wfCtx: WorkflowContextImpl, ...args: T): Promise<R>;
|
143
150
|
invokeStoredProcFunction<R>(func: (client: PoolClient) => Promise<R>, config: TransactionConfig): Promise<R>;
|
144
151
|
external<T extends unknown[], R>(stepFn: StepFunction<T, R>, params: WorkflowParams, ...args: T): Promise<R>;
|
152
|
+
startStepTempWF<T extends unknown[], R>(stepFn: StepFunction<T, R>, params: InternalWorkflowParams, callerUUID?: string, callerFunctionID?: number, ...args: T): Promise<WorkflowHandle<R>>;
|
145
153
|
/**
|
146
154
|
* Execute a step function.
|
147
155
|
* If it encounters any error, retry according to its configured retry policy until the maximum number of attempts is reached, then throw an DBOSError.
|
@@ -167,6 +175,7 @@ export declare class DBOSExecutor implements DBOSExecutorContext {
|
|
167
175
|
* It runs to completion all pending workflows that were executing when the previous executor failed.
|
168
176
|
*/
|
169
177
|
recoverPendingWorkflows(executorIDs?: string[]): Promise<WorkflowHandle<unknown>[]>;
|
178
|
+
initEventReceivers(): Promise<void>;
|
170
179
|
deactivateEventReceivers(): Promise<void>;
|
171
180
|
executeWorkflowUUID(workflowUUID: string, startNewWorkflow?: boolean): Promise<WorkflowHandle<unknown>>;
|
172
181
|
getEventDispatchState(svc: string, wfn: string, key: string): Promise<DBOSEventReceiverState | undefined>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"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"}
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.DBOSExecutor = exports.OperationType = exports.DebugMode = exports.dbosNull = void 0;
|
29
|
+
exports.DBOSExecutor = exports.TempWorkflowType = exports.OperationType = exports.DebugMode = exports.dbosNull = void 0;
|
30
30
|
const error_1 = require("./error");
|
31
31
|
const workflow_1 = require("./workflow");
|
32
32
|
const transaction_1 = require("./transaction");
|
@@ -50,6 +50,7 @@ const procedure_1 = require("./procedure");
|
|
50
50
|
const lodash_1 = require("lodash");
|
51
51
|
const wfqueue_1 = require("./wfqueue");
|
52
52
|
const debugpoint_1 = require("./debugpoint");
|
53
|
+
const scheduler_1 = require("./scheduler/scheduler");
|
53
54
|
const crypto = __importStar(require("crypto"));
|
54
55
|
exports.dbosNull = {};
|
55
56
|
var DebugMode;
|
@@ -65,7 +66,7 @@ exports.OperationType = {
|
|
65
66
|
COMMUNICATOR: 'communicator',
|
66
67
|
PROCEDURE: 'procedure',
|
67
68
|
};
|
68
|
-
|
69
|
+
exports.TempWorkflowType = {
|
69
70
|
transaction: 'transaction',
|
70
71
|
procedure: 'procedure',
|
71
72
|
external: 'external',
|
@@ -399,27 +400,34 @@ class DBOSExecutor {
|
|
399
400
|
}
|
400
401
|
}
|
401
402
|
async destroy() {
|
402
|
-
|
403
|
-
this.
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
this.
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
403
|
+
try {
|
404
|
+
if (this.pendingWorkflowMap.size > 0) {
|
405
|
+
this.logger.info('Waiting for pending workflows to finish.');
|
406
|
+
await Promise.allSettled(this.pendingWorkflowMap.values());
|
407
|
+
}
|
408
|
+
clearInterval(this.flushBufferID);
|
409
|
+
if (!this.isDebugging && !this.isFlushingBuffers) {
|
410
|
+
// Don't flush the buffers if we're already flushing them in the background.
|
411
|
+
await this.flushWorkflowBuffers();
|
412
|
+
}
|
413
|
+
while (this.isFlushingBuffers) {
|
414
|
+
this.logger.info('Waiting for result buffers to be exported.');
|
415
|
+
await (0, utils_1.sleepms)(1000);
|
416
|
+
}
|
417
|
+
await this.systemDatabase.destroy();
|
418
|
+
if (this.userDatabase) {
|
419
|
+
await this.userDatabase.destroy();
|
420
|
+
}
|
421
|
+
await this.procedurePool.end();
|
422
|
+
await this.logger.destroy();
|
423
|
+
if (DBOSExecutor.globalInstance === this) {
|
424
|
+
DBOSExecutor.globalInstance = undefined;
|
425
|
+
}
|
418
426
|
}
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
427
|
+
catch (err) {
|
428
|
+
const e = err;
|
429
|
+
this.logger.error(e);
|
430
|
+
throw err;
|
423
431
|
}
|
424
432
|
}
|
425
433
|
/* WORKFLOW OPERATIONS */
|
@@ -501,7 +509,7 @@ class DBOSExecutor {
|
|
501
509
|
const tfname = className + '.' + functionName;
|
502
510
|
const txnInfo = this.transactionInfoMap.get(tfname);
|
503
511
|
if (!txnInfo) {
|
504
|
-
throw new error_1.DBOSNotRegisteredError(`Transaction function name '${tfname}' is not registered.`);
|
512
|
+
throw new error_1.DBOSNotRegisteredError(tfname, `Transaction function name '${tfname}' is not registered.`);
|
505
513
|
}
|
506
514
|
return { txnInfo, clsInst: (0, decorators_1.getConfiguredInstance)(className, cfgName) };
|
507
515
|
}
|
@@ -513,7 +521,7 @@ class DBOSExecutor {
|
|
513
521
|
const cfname = className + '.' + functionName;
|
514
522
|
const stepInfo = this.stepInfoMap.get(cfname);
|
515
523
|
if (!stepInfo) {
|
516
|
-
throw new error_1.DBOSNotRegisteredError(`Step function name '${cfname}' is not registered.`);
|
524
|
+
throw new error_1.DBOSNotRegisteredError(cfname, `Step function name '${cfname}' is not registered.`);
|
517
525
|
}
|
518
526
|
return { commInfo: stepInfo, clsInst: (0, decorators_1.getConfiguredInstance)(className, cfgName) };
|
519
527
|
}
|
@@ -565,8 +573,8 @@ class DBOSExecutor {
|
|
565
573
|
let status = undefined;
|
566
574
|
// Synchronously set the workflow's status to PENDING and record workflow inputs (for non single-transaction workflows).
|
567
575
|
// We have to do it for all types of workflows because operation_outputs table has a foreign key constraint on workflow status table.
|
568
|
-
if ((wCtxt.tempWfOperationType !== TempWorkflowType.transaction &&
|
569
|
-
wCtxt.tempWfOperationType !== TempWorkflowType.procedure) ||
|
576
|
+
if ((wCtxt.tempWfOperationType !== exports.TempWorkflowType.transaction &&
|
577
|
+
wCtxt.tempWfOperationType !== exports.TempWorkflowType.procedure) ||
|
570
578
|
params.queueName !== undefined) {
|
571
579
|
if (this.isDebugging) {
|
572
580
|
const wfStatus = await this.systemDatabase.getWorkflowStatus(workflowUUID);
|
@@ -582,6 +590,13 @@ class DBOSExecutor {
|
|
582
590
|
}
|
583
591
|
else {
|
584
592
|
// TODO: Make this transactional (and with the queue step below)
|
593
|
+
if (callerFunctionID !== undefined && callerUUID !== undefined) {
|
594
|
+
const child_id = await this.systemDatabase.checkChildWorkflow(callerUUID, callerFunctionID);
|
595
|
+
if (child_id !== null) {
|
596
|
+
return new workflow_1.RetrievedHandle(this.systemDatabase, child_id, callerUUID, callerFunctionID);
|
597
|
+
}
|
598
|
+
await this.systemDatabase.recordChildWorkflow(callerUUID, workflowUUID, callerFunctionID, wf.name);
|
599
|
+
}
|
585
600
|
const ires = await this.systemDatabase.initWorkflowStatus(internalStatus, args);
|
586
601
|
args = ires.args;
|
587
602
|
status = ires.status;
|
@@ -668,8 +683,8 @@ class DBOSExecutor {
|
|
668
683
|
}
|
669
684
|
finally {
|
670
685
|
this.tracer.endSpan(wCtxt.span);
|
671
|
-
if (wCtxt.tempWfOperationType === TempWorkflowType.transaction ||
|
672
|
-
wCtxt.tempWfOperationType === TempWorkflowType.procedure) {
|
686
|
+
if (wCtxt.tempWfOperationType === exports.TempWorkflowType.transaction ||
|
687
|
+
wCtxt.tempWfOperationType === exports.TempWorkflowType.procedure) {
|
673
688
|
// For single-transaction workflows, asynchronously record inputs.
|
674
689
|
// We must buffer inputs after workflow status is buffered/flushed because workflow_inputs table has a foreign key reference to the workflow_status table.
|
675
690
|
if (!this.isDebugging) {
|
@@ -709,7 +724,7 @@ class DBOSExecutor {
|
|
709
724
|
#getQueueByName(name) {
|
710
725
|
const q = wfqueue_1.wfQueueRunner.wfQueuesByName.get(name);
|
711
726
|
if (!q)
|
712
|
-
throw new error_1.DBOSNotRegisteredError(`Workflow queue '${name}'
|
727
|
+
throw new error_1.DBOSNotRegisteredError(name, `Workflow queue '${name}' is not defined.`);
|
713
728
|
return q;
|
714
729
|
}
|
715
730
|
/**
|
@@ -843,17 +858,20 @@ class DBOSExecutor {
|
|
843
858
|
return this.#flushResultBuffer(func, resultBuffer, workflowUUID, user_database_1.pgNodeIsKeyConflictError);
|
844
859
|
}
|
845
860
|
async transaction(txn, params, ...args) {
|
861
|
+
return await (await this.startTransactionTempWF(txn, params, undefined, undefined, ...args)).getResult();
|
862
|
+
}
|
863
|
+
async startTransactionTempWF(txn, params, callerUUID, callerFunctionID, ...args) {
|
846
864
|
// Create a workflow and call transaction.
|
847
865
|
const temp_workflow = async (ctxt, ...args) => {
|
848
866
|
const ctxtImpl = ctxt;
|
849
|
-
return await
|
867
|
+
return await this.callTransactionFunction(txn, params.configuredInstance ?? null, ctxtImpl, ...args);
|
850
868
|
};
|
851
|
-
return
|
869
|
+
return await this.internalWorkflow(temp_workflow, {
|
852
870
|
...params,
|
853
|
-
tempWfType: TempWorkflowType.transaction,
|
871
|
+
tempWfType: exports.TempWorkflowType.transaction,
|
854
872
|
tempWfName: (0, decorators_1.getRegisteredMethodName)(txn),
|
855
873
|
tempWfClass: (0, decorators_1.getRegisteredMethodClassName)(txn),
|
856
|
-
}, ...args)
|
874
|
+
}, callerUUID, callerFunctionID, ...args);
|
857
875
|
}
|
858
876
|
async callTransactionFunction(txn, clsinst, wfCtx, ...args) {
|
859
877
|
const txnInfo = this.getTransactionInfo(txn);
|
@@ -1022,7 +1040,7 @@ class DBOSExecutor {
|
|
1022
1040
|
};
|
1023
1041
|
return await (await this.workflow(temp_workflow, {
|
1024
1042
|
...params,
|
1025
|
-
tempWfType: TempWorkflowType.procedure,
|
1043
|
+
tempWfType: exports.TempWorkflowType.procedure,
|
1026
1044
|
tempWfName: (0, decorators_1.getRegisteredMethodName)(proc),
|
1027
1045
|
tempWfClass: (0, decorators_1.getRegisteredMethodClassName)(proc),
|
1028
1046
|
}, ...args)).getResult();
|
@@ -1288,17 +1306,20 @@ class DBOSExecutor {
|
|
1288
1306
|
}
|
1289
1307
|
}
|
1290
1308
|
async external(stepFn, params, ...args) {
|
1309
|
+
return await (await this.startStepTempWF(stepFn, params, undefined, undefined, ...args)).getResult();
|
1310
|
+
}
|
1311
|
+
async startStepTempWF(stepFn, params, callerUUID, callerFunctionID, ...args) {
|
1291
1312
|
// Create a workflow and call external.
|
1292
1313
|
const temp_workflow = async (ctxt, ...args) => {
|
1293
1314
|
const ctxtImpl = ctxt;
|
1294
|
-
return await
|
1315
|
+
return await this.callStepFunction(stepFn, params.configuredInstance ?? null, ctxtImpl, ...args);
|
1295
1316
|
};
|
1296
|
-
return
|
1317
|
+
return await this.internalWorkflow(temp_workflow, {
|
1297
1318
|
...params,
|
1298
|
-
tempWfType: TempWorkflowType.external,
|
1319
|
+
tempWfType: exports.TempWorkflowType.external,
|
1299
1320
|
tempWfName: (0, decorators_1.getRegisteredMethodName)(stepFn),
|
1300
1321
|
tempWfClass: (0, decorators_1.getRegisteredMethodClassName)(stepFn),
|
1301
|
-
}, ...args)
|
1322
|
+
}, callerUUID, callerFunctionID, ...args);
|
1302
1323
|
}
|
1303
1324
|
/**
|
1304
1325
|
* Execute a step function.
|
@@ -1411,14 +1432,14 @@ class DBOSExecutor {
|
|
1411
1432
|
if (result === exports.dbosNull) {
|
1412
1433
|
// Record the error, then throw it.
|
1413
1434
|
err = err === exports.dbosNull ? new error_1.DBOSMaxStepRetriesError(stepFn.name, ctxt.maxAttempts, errors) : err;
|
1414
|
-
await this.systemDatabase.recordOperationError(wfCtx.workflowUUID, ctxt.functionID, err);
|
1435
|
+
await this.systemDatabase.recordOperationError(wfCtx.workflowUUID, ctxt.functionID, err, ctxt.operationName);
|
1415
1436
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: err.message });
|
1416
1437
|
this.tracer.endSpan(ctxt.span);
|
1417
1438
|
throw err;
|
1418
1439
|
}
|
1419
1440
|
else {
|
1420
1441
|
// Record the execution and return.
|
1421
|
-
await this.systemDatabase.recordOperationOutput(wfCtx.workflowUUID, ctxt.functionID, result);
|
1442
|
+
await this.systemDatabase.recordOperationOutput(wfCtx.workflowUUID, ctxt.functionID, result, ctxt.operationName);
|
1422
1443
|
ctxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
1423
1444
|
this.tracer.endSpan(ctxt.span);
|
1424
1445
|
return result;
|
@@ -1432,7 +1453,7 @@ class DBOSExecutor {
|
|
1432
1453
|
const workflowUUID = idempotencyKey ? destinationUUID + idempotencyKey : undefined;
|
1433
1454
|
return (await this.workflow(temp_workflow, {
|
1434
1455
|
workflowUUID: workflowUUID,
|
1435
|
-
tempWfType: TempWorkflowType.send,
|
1456
|
+
tempWfType: exports.TempWorkflowType.send,
|
1436
1457
|
configuredInstance: null,
|
1437
1458
|
}, destinationUUID, message, topic)).getResult();
|
1438
1459
|
}
|
@@ -1531,6 +1552,14 @@ class DBOSExecutor {
|
|
1531
1552
|
}
|
1532
1553
|
return handlerArray;
|
1533
1554
|
}
|
1555
|
+
async initEventReceivers() {
|
1556
|
+
this.scheduler = new scheduler_1.DBOSScheduler(this);
|
1557
|
+
this.scheduler.initScheduler();
|
1558
|
+
this.wfqEnded = wfqueue_1.wfQueueRunner.dispatchLoop(this);
|
1559
|
+
for (const evtRcvr of this.eventReceivers) {
|
1560
|
+
await evtRcvr.initialize(this);
|
1561
|
+
}
|
1562
|
+
}
|
1534
1563
|
async deactivateEventReceivers() {
|
1535
1564
|
this.logger.info('Deactivating event receivers');
|
1536
1565
|
for (const evtRcvr of this.eventReceivers || []) {
|
@@ -1588,61 +1617,56 @@ class DBOSExecutor {
|
|
1588
1617
|
throw new error_1.DBOSError(`This should never happen! Cannot find workflow info for a non-temporary workflow! UUID ${workflowUUID}, name ${wfName}`);
|
1589
1618
|
}
|
1590
1619
|
let temp_workflow;
|
1591
|
-
|
1592
|
-
let tempWfType;
|
1593
|
-
let tempWfName;
|
1594
|
-
let tempWfClass;
|
1595
|
-
if (nameArr[1] === TempWorkflowType.transaction) {
|
1620
|
+
if (nameArr[1] === exports.TempWorkflowType.transaction) {
|
1596
1621
|
const { txnInfo, clsInst } = this.getTransactionInfoByNames(wfStatus.workflowClassName, nameArr[2], wfStatus.workflowConfigName);
|
1597
1622
|
if (!txnInfo) {
|
1598
1623
|
this.logger.error(`Cannot find transaction info for UUID ${workflowUUID}, name ${nameArr[2]}`);
|
1599
1624
|
throw new error_1.DBOSNotRegisteredError(nameArr[2]);
|
1600
1625
|
}
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1606
|
-
|
1607
|
-
}
|
1608
|
-
|
1626
|
+
return await this.startTransactionTempWF(txnInfo.transaction, {
|
1627
|
+
workflowUUID: workflowStartUUID,
|
1628
|
+
parentCtx: parentCtx ?? undefined,
|
1629
|
+
configuredInstance: clsInst,
|
1630
|
+
queueName: wfStatus.queueName,
|
1631
|
+
executeWorkflow: true,
|
1632
|
+
}, undefined, undefined,
|
1633
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
1634
|
+
...inputs);
|
1609
1635
|
}
|
1610
|
-
else if (nameArr[1] === TempWorkflowType.external) {
|
1636
|
+
else if (nameArr[1] === exports.TempWorkflowType.external) {
|
1611
1637
|
const { commInfo, clsInst } = this.getStepInfoByNames(wfStatus.workflowClassName, nameArr[2], wfStatus.workflowConfigName);
|
1612
1638
|
if (!commInfo) {
|
1613
1639
|
this.logger.error(`Cannot find step info for UUID ${workflowUUID}, name ${nameArr[2]}`);
|
1614
1640
|
throw new error_1.DBOSNotRegisteredError(nameArr[2]);
|
1615
1641
|
}
|
1616
|
-
|
1617
|
-
|
1618
|
-
|
1619
|
-
|
1620
|
-
|
1621
|
-
|
1622
|
-
}
|
1623
|
-
|
1642
|
+
return await this.startStepTempWF(commInfo.step, {
|
1643
|
+
workflowUUID: workflowStartUUID,
|
1644
|
+
parentCtx: parentCtx ?? undefined,
|
1645
|
+
configuredInstance: clsInst,
|
1646
|
+
queueName: wfStatus.queueName, // Probably null
|
1647
|
+
executeWorkflow: true,
|
1648
|
+
}, undefined, undefined,
|
1649
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
1650
|
+
...inputs);
|
1624
1651
|
}
|
1625
|
-
else if (nameArr[1] === TempWorkflowType.send) {
|
1626
|
-
tempWfType = TempWorkflowType.send;
|
1652
|
+
else if (nameArr[1] === exports.TempWorkflowType.send) {
|
1627
1653
|
temp_workflow = async (ctxt, ...args) => {
|
1628
1654
|
return await ctxt.send(args[0], args[1], args[2]); // id, value, topic
|
1629
1655
|
};
|
1630
|
-
|
1656
|
+
return this.workflow(temp_workflow, {
|
1657
|
+
workflowUUID: workflowStartUUID,
|
1658
|
+
parentCtx: parentCtx ?? undefined,
|
1659
|
+
tempWfType: exports.TempWorkflowType.send,
|
1660
|
+
queueName: wfStatus.queueName,
|
1661
|
+
executeWorkflow: true,
|
1662
|
+
},
|
1663
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
1664
|
+
...inputs);
|
1631
1665
|
}
|
1632
1666
|
else {
|
1633
1667
|
this.logger.error(`Unrecognized temporary workflow! UUID ${workflowUUID}, name ${wfName}`);
|
1634
1668
|
throw new error_1.DBOSNotRegisteredError(wfName);
|
1635
1669
|
}
|
1636
|
-
return this.workflow(temp_workflow, {
|
1637
|
-
workflowUUID: workflowStartUUID,
|
1638
|
-
parentCtx: parentCtx ?? undefined,
|
1639
|
-
configuredInstance: clsinst,
|
1640
|
-
tempWfType,
|
1641
|
-
tempWfClass,
|
1642
|
-
tempWfName,
|
1643
|
-
},
|
1644
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
1645
|
-
...inputs);
|
1646
1670
|
}
|
1647
1671
|
async getEventDispatchState(svc, wfn, key) {
|
1648
1672
|
return await this.systemDatabase.getEventDispatchState(svc, wfn, key);
|