@dbos-inc/dbos-sdk 5.1.8-preview → 5.1.9-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/src/dbos-executor.d.ts +2 -0
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +13 -33
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +1 -0
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.js +8 -0
- package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -1
- package/dist/src/system_database.d.ts +2 -2
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +24 -5
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/workflow_management.d.ts +9 -0
- package/dist/src/workflow_management.d.ts.map +1 -1
- package/dist/src/workflow_management.js +42 -1
- package/dist/src/workflow_management.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import type { SystemDatabase, WorkflowStatusInternal } from './system_database';
|
|
|
2
2
|
import type { StepInfo, WorkflowStatus, GetWorkflowsInput, ListWorkflowStepsOptions } from './workflow';
|
|
3
3
|
import type { DataSourceTransactionHandler } from './datasource';
|
|
4
4
|
import { DBOSSerializer } from './serialization';
|
|
5
|
+
import type { GlobalLogger } from './telemetry/logs';
|
|
5
6
|
export declare function listWorkflows(sysdb: SystemDatabase, input: GetWorkflowsInput): Promise<WorkflowStatus[]>;
|
|
6
7
|
export declare function listQueuedWorkflows(sysdb: SystemDatabase, input: GetWorkflowsInput): Promise<WorkflowStatus[]>;
|
|
7
8
|
export declare function getWorkflow(sysdb: SystemDatabase, workflowID: string): Promise<WorkflowStatus | undefined>;
|
|
@@ -34,4 +35,12 @@ export declare function garbageCollect(sysdb: SystemDatabase, cutoffEpochTimesta
|
|
|
34
35
|
batchSize?: number | null;
|
|
35
36
|
}): Promise<void>;
|
|
36
37
|
export declare function globalTimeout(sysdb: SystemDatabase, cutoffEpochTimestampMs: number): Promise<void>;
|
|
38
|
+
export declare const workflowTimeoutConfig: {
|
|
39
|
+
/** How often the sweep looks for workflows past their deadline. */
|
|
40
|
+
pollingIntervalMs: number;
|
|
41
|
+
/** Most workflows one sweep transaction cancels; a full batch sweeps again at once. */
|
|
42
|
+
batchSize: number;
|
|
43
|
+
};
|
|
44
|
+
/** Cancel this application's active workflows once their deadline passes, until `signal` aborts. */
|
|
45
|
+
export declare function workflowTimeoutLoop(sysdb: SystemDatabase, logger: GlobalLogger, signal: AbortSignal): Promise<void>;
|
|
37
46
|
//# sourceMappingURL=workflow_management.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_management.d.ts","sourceRoot":"","sources":["../../src/workflow_management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAExG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAsD,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow_management.d.ts","sourceRoot":"","sources":["../../src/workflow_management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAExG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAsD,MAAM,iBAAiB,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAG9G;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,6BAKxF;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAGhH;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,OAAc,EAC1B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAqBjC;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACL,OAAO,CAAC,MAAM,CAAC,CAIjB;AAuBD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,SAAS,4BAA4B,EAAE,EACpD,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAED,2DAA2D;AAC3D,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,EACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG;AAED,eAAO,MAAM,qBAAqB;IAChC,mEAAmE;;IAEnE,uFAAuF;;CAExF,CAAC;AAiBF,oGAAoG;AACpG,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.globalTimeout = exports.garbageCollect = exports.toWorkflowStatus = exports.rewindWorkflow = exports.forkWorkflow = exports.listWorkflowSteps = exports.getWorkflow = exports.listQueuedWorkflows = exports.listWorkflows = void 0;
|
|
3
|
+
exports.workflowTimeoutLoop = exports.workflowTimeoutConfig = exports.globalTimeout = exports.garbageCollect = exports.toWorkflowStatus = exports.rewindWorkflow = exports.forkWorkflow = exports.listWorkflowSteps = exports.getWorkflow = exports.listQueuedWorkflows = exports.listWorkflows = void 0;
|
|
4
4
|
const workflow_1 = require("./workflow");
|
|
5
5
|
const error_1 = require("./error");
|
|
6
6
|
const serialization_1 = require("./serialization");
|
|
@@ -160,4 +160,45 @@ async function globalTimeout(sysdb, cutoffEpochTimestampMs) {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
exports.globalTimeout = globalTimeout;
|
|
163
|
+
exports.workflowTimeoutConfig = {
|
|
164
|
+
/** How often the sweep looks for workflows past their deadline. */
|
|
165
|
+
pollingIntervalMs: 1000,
|
|
166
|
+
/** Most workflows one sweep transaction cancels; a full batch sweeps again at once. */
|
|
167
|
+
batchSize: 1000,
|
|
168
|
+
};
|
|
169
|
+
function waitOrAbort(ms, signal) {
|
|
170
|
+
return new Promise((resolve) => {
|
|
171
|
+
if (signal.aborted)
|
|
172
|
+
return resolve();
|
|
173
|
+
const onAbort = () => {
|
|
174
|
+
clearTimeout(timer);
|
|
175
|
+
resolve();
|
|
176
|
+
};
|
|
177
|
+
const timer = setTimeout(() => {
|
|
178
|
+
signal.removeEventListener('abort', onAbort);
|
|
179
|
+
resolve();
|
|
180
|
+
}, ms);
|
|
181
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/** Cancel this application's active workflows once their deadline passes, until `signal` aborts. */
|
|
185
|
+
async function workflowTimeoutLoop(sysdb, logger, signal) {
|
|
186
|
+
while (!signal.aborted) {
|
|
187
|
+
try {
|
|
188
|
+
while (!signal.aborted) {
|
|
189
|
+
const cancelled = await sysdb.cancelTimedOutWorkflows(exports.workflowTimeoutConfig.batchSize);
|
|
190
|
+
for (const workflowID of cancelled) {
|
|
191
|
+
logger.debug(`Cancelled workflow ${workflowID}: timed out`);
|
|
192
|
+
}
|
|
193
|
+
if (cancelled.length < exports.workflowTimeoutConfig.batchSize)
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (e) {
|
|
198
|
+
logger.warn(`Exception cancelling timed-out workflows: ${e.message}`);
|
|
199
|
+
}
|
|
200
|
+
await waitOrAbort(exports.workflowTimeoutConfig.pollingIntervalMs, signal);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
exports.workflowTimeoutLoop = workflowTimeoutLoop;
|
|
163
204
|
//# sourceMappingURL=workflow_management.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_management.js","sourceRoot":"","sources":["../../src/workflow_management.ts"],"names":[],"mappings":";;;AAEA,yCAA0C;AAE1C,mCAAkE;AAClE,mDAAqG;AACrG,6CAAyC;
|
|
1
|
+
{"version":3,"file":"workflow_management.js","sourceRoot":"","sources":["../../src/workflow_management.ts"],"names":[],"mappings":"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"}
|