@dbos-inc/dbos-sdk 1.6.8-preview → 1.6.10-preview
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/src/dbos-runtime/cli.d.ts +0 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +13 -15
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +13 -5
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
- package/dist/src/dbos-runtime/debug.js +2 -1
- package/dist/src/dbos-runtime/debug.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts +5 -4
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +28 -22
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAuD,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAuD,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2ED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,iBA2BxG"}
|
@@ -13,30 +13,28 @@ const exporters_1 = require("../telemetry/exporters");
|
|
13
13
|
const configure_1 = require("./configure");
|
14
14
|
const program = new commander_1.Command();
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
16
|
-
const packageJson = require(
|
16
|
+
const packageJson = require("../../../package.json");
|
17
17
|
program.version(packageJson.version);
|
18
18
|
program
|
19
|
-
.command(
|
20
|
-
.description(
|
21
|
-
.option(
|
22
|
-
.option(
|
23
|
-
.option(
|
24
|
-
.option('-e, --entrypoint <string>', 'Specify the entrypoint file path')
|
19
|
+
.command("start")
|
20
|
+
.description("Start the server")
|
21
|
+
.option("-p, --port <number>", "Specify the port number")
|
22
|
+
.option("-l, --loglevel <string>", "Specify log level")
|
23
|
+
.option("-c, --configfile <string>", "Specify the config file path", config_1.dbosConfigFilePath)
|
25
24
|
.action(async (options) => {
|
26
25
|
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options);
|
27
26
|
const runtime = new runtime_1.DBOSRuntime(dbosConfig, runtimeConfig);
|
28
27
|
await runtime.initAndStart();
|
29
28
|
});
|
30
29
|
program
|
31
|
-
.command(
|
32
|
-
.description(
|
33
|
-
.option(
|
34
|
-
.requiredOption(
|
35
|
-
.option(
|
36
|
-
.option(
|
37
|
-
.option('-e, --entrypoint <string>', 'Specify the entrypoint file path')
|
30
|
+
.command("debug")
|
31
|
+
.description("Debug a workflow")
|
32
|
+
.option("-x, --proxy <string>", "Specify the time-travel debug proxy URL for debugging cloud traces")
|
33
|
+
.requiredOption("-u, --uuid <string>", "Specify the workflow UUID to replay")
|
34
|
+
.option("-l, --loglevel <string>", "Specify log level")
|
35
|
+
.option("-c, --configfile <string>", "Specify the config file path", config_1.dbosConfigFilePath)
|
38
36
|
.action(async (options) => {
|
39
|
-
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options,
|
37
|
+
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options, options.proxy !== undefined);
|
40
38
|
await (0, debug_1.debugWorkflow)(dbosConfig, runtimeConfig, options.uuid, options.proxy);
|
41
39
|
});
|
42
40
|
program
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";;;;AACA,uCAA2D;AAC3D,qCAA2F;AAC3F,yCAAoC;AAEpC,mCAAwC;AACxC,uCAAuD;AACvD,4CAAiD;AACjD,sDAA4D;AAC5D,sDAA2D;AAC3D,2CAAwC;AAExC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,iBAAiB,
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAqB,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,WAAW,EAAE,GAAG,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAOD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAajE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAW7E;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAE,OAAe,cA2CpF;AAMD,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,mBAAmB,EAAE,QAAQ,GAAE,OAAe,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CA+D5H"}
|
@@ -7,15 +7,16 @@ exports.parseConfigFile = exports.constructPoolConfig = exports.writeConfigFile
|
|
7
7
|
const error_1 = require("../error");
|
8
8
|
const utils_1 = require("../utils");
|
9
9
|
const yaml_1 = __importDefault(require("yaml"));
|
10
|
+
const runtime_1 = require("./runtime");
|
10
11
|
const user_database_1 = require("../user_database");
|
11
12
|
const applicationVersion_1 = require("./applicationVersion");
|
12
13
|
const fs_1 = require("fs");
|
13
14
|
exports.dbosConfigFilePath = "dbos-config.yaml";
|
14
15
|
/*
|
15
|
-
* Substitute environment variables using a regex for matching.
|
16
|
-
* Will find anything in curly braces.
|
17
|
-
* TODO: Use a more robust solution.
|
18
|
-
*/
|
16
|
+
* Substitute environment variables using a regex for matching.
|
17
|
+
* Will find anything in curly braces.
|
18
|
+
* TODO: Use a more robust solution.
|
19
|
+
*/
|
19
20
|
function substituteEnvVars(content) {
|
20
21
|
const regex = /\${([^}]+)}/g; // Regex to match ${VAR_NAME} style placeholders
|
21
22
|
return content.replace(regex, (_, g1) => {
|
@@ -150,8 +151,15 @@ function parseConfigFile(cliOptions, useProxy = false) {
|
|
150
151
|
/*************************************/
|
151
152
|
/* Build final runtime Configuration */
|
152
153
|
/*************************************/
|
154
|
+
const entrypoints = new Set();
|
155
|
+
if (configFile.runtimeConfig?.entrypoints) {
|
156
|
+
configFile.runtimeConfig.entrypoints.forEach((entry) => entrypoints.add(entry));
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
entrypoints.add(runtime_1.defaultEntryPoint);
|
160
|
+
}
|
153
161
|
const runtimeConfig = {
|
154
|
-
|
162
|
+
entrypoints: [...entrypoints],
|
155
163
|
port: Number(cliOptions?.port) || Number(configFile.runtimeConfig?.port) || 3000,
|
156
164
|
};
|
157
165
|
return [dbosConfig, runtimeConfig];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAmD;AACnD,oCAAwC;AAGxC,gDAAwB;
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAe,iBAAiB,
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAe,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE3D,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,iBAyCjI"}
|
@@ -10,7 +10,8 @@ async function debugWorkflow(dbosConfig, runtimeConfig, workflowUUID, proxy) {
|
|
10
10
|
const logger = new logs_1.GlobalLogger();
|
11
11
|
try {
|
12
12
|
const dbosExec = new dbos_executor_1.DBOSExecutor(dbosConfig);
|
13
|
-
|
13
|
+
dbosExec.logger.debug(`Loading classes from entrypoints: ${JSON.stringify(runtimeConfig.entrypoints)}`);
|
14
|
+
const classes = await runtime_1.DBOSRuntime.loadClasses(runtimeConfig.entrypoints);
|
14
15
|
await dbosExec.init(...classes);
|
15
16
|
// Invoke the workflow in debug mode.
|
16
17
|
const handle = await dbosExec.executeWorkflowUUID(workflowUUID);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":";;;AAAA,oDAA4D;AAC5D,oCAAwG;AACxG,4CAAiD;AACjD,
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":";;;AAAA,oDAA4D;AAC5D,oCAAwG;AACxG,4CAAiD;AACjD,uCAA2D;AAEpD,KAAK,UAAU,aAAa,CAAC,UAAsB,EAAE,aAAgC,EAAE,YAAoB,EAAE,KAAc;IAChI,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,MAAM,qBAAW,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAEhC,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,2BAA2B;QAC3B,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,kBAAkB,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3B,sEAAsE;gBACtE,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,8CAA8C,KAAK,IAAI,CAAC,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,0BAA0B,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC/F,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,YAAY,mCAA2B,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,2EAA2E,CAAC,CAAC;QAClH,CAAC;aAAM,IAAI,CAAC,YAAY,8BAAsB,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,sJAAsJ,CAAC,CAAC;QAC7L,CAAC;aAAM,IAAI,CAAC,YAAY,+BAAuB,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,oDAAoD,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO;AACT,CAAC;AAzCD,sCAyCC"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { DBOSConfig } from '../dbos-executor';
|
2
2
|
export interface DBOSRuntimeConfig {
|
3
|
-
|
3
|
+
entrypoints: string[];
|
4
4
|
port: number;
|
5
5
|
}
|
6
|
+
export declare const defaultEntryPoint = "dist/operations.js";
|
6
7
|
export declare class DBOSRuntime {
|
7
8
|
private readonly runtimeConfig;
|
8
9
|
private dbosConfig;
|
@@ -17,11 +18,11 @@ export declare class DBOSRuntime {
|
|
17
18
|
/**
|
18
19
|
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
19
20
|
*/
|
20
|
-
static loadClasses(
|
21
|
+
static loadClasses(entrypoints: string[]): Promise<object[]>;
|
21
22
|
onSigterm(): void;
|
22
23
|
/**
|
23
|
-
|
24
|
-
|
24
|
+
* Shut down the HTTP server and destroy workflow executor.
|
25
|
+
*/
|
25
26
|
destroy(): Promise<void>;
|
26
27
|
}
|
27
28
|
//# sourceMappingURL=runtime.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe5D,MAAM,WAAW,iBAAiB;IAChC,
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe5D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,qBAAa,WAAW;IAMc,OAAO,CAAC,QAAQ,CAAC,aAAa;IALlE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAyD;IACxE,OAAO,CAAC,KAAK,CAA0B;gBAE3B,UAAU,EAAE,UAAU,EAAmB,aAAa,EAAE,iBAAiB;IAKrF;;OAEG;IACG,YAAY;IAyBlB;;OAEG;WACU,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBlE,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACG,OAAO;CAQd"}
|
@@ -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.DBOSRuntime = void 0;
|
29
|
+
exports.DBOSRuntime = exports.defaultEntryPoint = void 0;
|
30
30
|
const dbos_executor_1 = require("../dbos-executor");
|
31
31
|
const server_1 = require("../httpServer/server");
|
32
32
|
const fs = __importStar(require("fs"));
|
@@ -35,6 +35,7 @@ const error_1 = require("../error");
|
|
35
35
|
const node_path_1 = __importDefault(require("node:path"));
|
36
36
|
const url_1 = require("url");
|
37
37
|
const kafka_1 = require("../kafka/kafka");
|
38
|
+
exports.defaultEntryPoint = "dist/operations.js";
|
38
39
|
class DBOSRuntime {
|
39
40
|
runtimeConfig;
|
40
41
|
dbosConfig;
|
@@ -52,10 +53,8 @@ class DBOSRuntime {
|
|
52
53
|
async initAndStart() {
|
53
54
|
try {
|
54
55
|
this.dbosExec = new dbos_executor_1.DBOSExecutor(this.dbosConfig);
|
55
|
-
|
56
|
-
|
57
|
-
throw new error_1.DBOSFailLoadOperationsError("operations not found");
|
58
|
-
}
|
56
|
+
this.dbosExec.logger.debug(`Loading classes from entrypoints ${JSON.stringify(this.runtimeConfig.entrypoints)}`);
|
57
|
+
const classes = await DBOSRuntime.loadClasses(this.runtimeConfig.entrypoints);
|
59
58
|
await this.dbosExec.init(...classes);
|
60
59
|
const server = new server_1.DBOSHttpServer(this.dbosExec);
|
61
60
|
this.servers = await server.listen(this.runtimeConfig.port);
|
@@ -79,23 +78,30 @@ class DBOSRuntime {
|
|
79
78
|
/**
|
80
79
|
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
81
80
|
*/
|
82
|
-
static async loadClasses(
|
83
|
-
const
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
for (const key in exports) {
|
94
|
-
if ((0, lodash_1.isObject)(exports[key])) {
|
95
|
-
classes.push(exports[key]);
|
81
|
+
static async loadClasses(entrypoints) {
|
82
|
+
const allClasses = [];
|
83
|
+
for (const entrypoint of entrypoints) {
|
84
|
+
const operations = node_path_1.default.isAbsolute(entrypoint) ? entrypoint : node_path_1.default.join(process.cwd(), entrypoint);
|
85
|
+
let exports;
|
86
|
+
if (fs.existsSync(operations)) {
|
87
|
+
const operationsURL = (0, url_1.pathToFileURL)(operations).href;
|
88
|
+
exports = (await import(operationsURL));
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
throw new error_1.DBOSFailLoadOperationsError(`Failed to load operations from the entrypoint ${entrypoint}`);
|
96
92
|
}
|
93
|
+
const classes = [];
|
94
|
+
for (const key in exports) {
|
95
|
+
if ((0, lodash_1.isObject)(exports[key])) {
|
96
|
+
classes.push(exports[key]);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
allClasses.push(...classes);
|
100
|
+
}
|
101
|
+
if (allClasses.length === 0) {
|
102
|
+
throw new error_1.DBOSFailLoadOperationsError("operations not found");
|
97
103
|
}
|
98
|
-
return
|
104
|
+
return allClasses;
|
99
105
|
}
|
100
106
|
onSigterm() {
|
101
107
|
this.dbosExec?.logger.info("Stopping application: received a termination signal");
|
@@ -104,8 +110,8 @@ class DBOSRuntime {
|
|
104
110
|
});
|
105
111
|
}
|
106
112
|
/**
|
107
|
-
|
108
|
-
|
113
|
+
* Shut down the HTTP server and destroy workflow executor.
|
114
|
+
*/
|
109
115
|
async destroy() {
|
110
116
|
await this.kafka?.destroyKafka();
|
111
117
|
if (this.servers) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4D;AAC5D,iDAAsD;AACtD,uCAAyB;AACzB,mCAAkC;AAClC,oCAAuD;AACvD,0DAA6B;AAE7B,6BAAoC;AACpC,0CAA2C;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"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"}
|