@dbos-inc/dbos-sdk 3.0.37-preview.gfd7eaf193c → 3.0.38-preview.g835773f00f

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.
Files changed (96) hide show
  1. package/dist/src/client.d.ts.map +1 -1
  2. package/dist/src/client.js.map +1 -1
  3. package/dist/src/context.d.ts +4 -4
  4. package/dist/src/context.d.ts.map +1 -1
  5. package/dist/src/context.js +7 -2
  6. package/dist/src/context.js.map +1 -1
  7. package/dist/src/datasource.d.ts +3 -9
  8. package/dist/src/datasource.d.ts.map +1 -1
  9. package/dist/src/datasource.js +39 -17
  10. package/dist/src/datasource.js.map +1 -1
  11. package/dist/src/dbos-executor.d.ts +30 -31
  12. package/dist/src/dbos-executor.d.ts.map +1 -1
  13. package/dist/src/dbos-executor.js +31 -57
  14. package/dist/src/dbos-executor.js.map +1 -1
  15. package/dist/src/dbos-runtime/config.d.ts +6 -4
  16. package/dist/src/dbos-runtime/config.d.ts.map +1 -1
  17. package/dist/src/dbos-runtime/config.js +90 -54
  18. package/dist/src/dbos-runtime/config.js.map +1 -1
  19. package/dist/src/dbos-runtime/docker_pg_helper.d.ts +3 -0
  20. package/dist/src/dbos-runtime/docker_pg_helper.d.ts.map +1 -1
  21. package/dist/src/dbos-runtime/docker_pg_helper.js +17 -4
  22. package/dist/src/dbos-runtime/docker_pg_helper.js.map +1 -1
  23. package/dist/src/dbos-runtime/migrate.js +3 -3
  24. package/dist/src/dbos-runtime/migrate.js.map +1 -1
  25. package/dist/src/dbos-runtime/runtime.d.ts +1 -1
  26. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  27. package/dist/src/dbos-runtime/runtime.js +4 -5
  28. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  29. package/dist/src/dbos.d.ts +25 -53
  30. package/dist/src/dbos.d.ts.map +1 -1
  31. package/dist/src/dbos.js +110 -117
  32. package/dist/src/dbos.js.map +1 -1
  33. package/dist/src/decorators.d.ts +26 -7
  34. package/dist/src/decorators.d.ts.map +1 -1
  35. package/dist/src/decorators.js +101 -64
  36. package/dist/src/decorators.js.map +1 -1
  37. package/dist/src/httpServer/handler.d.ts +1 -1
  38. package/dist/src/httpServer/handler.d.ts.map +1 -1
  39. package/dist/src/httpServer/handler.js.map +1 -1
  40. package/dist/src/httpServer/middleware.d.ts +2 -3
  41. package/dist/src/httpServer/middleware.d.ts.map +1 -1
  42. package/dist/src/httpServer/middleware.js.map +1 -1
  43. package/dist/src/httpServer/server.d.ts +3 -3
  44. package/dist/src/httpServer/server.d.ts.map +1 -1
  45. package/dist/src/httpServer/server.js +15 -17
  46. package/dist/src/httpServer/server.js.map +1 -1
  47. package/dist/src/index.d.ts +2 -2
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +1 -2
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/paramdecorators.d.ts +6 -6
  52. package/dist/src/paramdecorators.d.ts.map +1 -1
  53. package/dist/src/paramdecorators.js.map +1 -1
  54. package/dist/src/scheduler/crontab.d.ts +3 -8
  55. package/dist/src/scheduler/crontab.d.ts.map +1 -1
  56. package/dist/src/scheduler/crontab.js +24 -23
  57. package/dist/src/scheduler/crontab.js.map +1 -1
  58. package/dist/src/scheduler/scheduler.d.ts +10 -31
  59. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  60. package/dist/src/scheduler/scheduler.js +100 -136
  61. package/dist/src/scheduler/scheduler.js.map +1 -1
  62. package/dist/src/system_database.d.ts +9 -9
  63. package/dist/src/system_database.d.ts.map +1 -1
  64. package/dist/src/system_database.js +14 -1
  65. package/dist/src/system_database.js.map +1 -1
  66. package/dist/src/telemetry/exporters.d.ts +2 -2
  67. package/dist/src/telemetry/exporters.d.ts.map +1 -1
  68. package/dist/src/telemetry/exporters.js +3 -2
  69. package/dist/src/telemetry/exporters.js.map +1 -1
  70. package/dist/src/telemetry/logs.d.ts +4 -8
  71. package/dist/src/telemetry/logs.d.ts.map +1 -1
  72. package/dist/src/telemetry/logs.js +25 -13
  73. package/dist/src/telemetry/logs.js.map +1 -1
  74. package/dist/src/user_database.d.ts +2 -2
  75. package/dist/src/user_database.d.ts.map +1 -1
  76. package/dist/src/user_database.js.map +1 -1
  77. package/dist/src/utils.d.ts +1 -0
  78. package/dist/src/utils.d.ts.map +1 -1
  79. package/dist/src/utils.js +19 -5
  80. package/dist/src/utils.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/eslint.config.cjs +6 -1
  83. package/package.json +1 -7
  84. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts +0 -7
  85. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts.map +0 -1
  86. package/dist/src/dbos-runtime/cloudutils/authentication.js +0 -101
  87. package/dist/src/dbos-runtime/cloudutils/authentication.js.map +0 -1
  88. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts +0 -50
  89. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts.map +0 -1
  90. package/dist/src/dbos-runtime/cloudutils/cloudutils.js +0 -262
  91. package/dist/src/dbos-runtime/cloudutils/cloudutils.js.map +0 -1
  92. package/dist/src/dbos-runtime/cloudutils/databases.d.ts +0 -21
  93. package/dist/src/dbos-runtime/cloudutils/databases.d.ts.map +0 -1
  94. package/dist/src/dbos-runtime/cloudutils/databases.js +0 -190
  95. package/dist/src/dbos-runtime/cloudutils/databases.js.map +0 -1
  96. package/src/dbos-runtime/cloudutils/README.md +0 -1
@@ -1,5 +1,4 @@
1
- import { DBOSExecutor } from '../dbos-executor';
2
- import { MethodRegistrationBase } from '../decorators';
1
+ import { DBOSLifecycleCallback, FunctionName } from '../decorators';
3
2
  /**
4
3
  * Choices for scheduler mode for `@DBOS.scheduled` workflows
5
4
  */
@@ -19,8 +18,8 @@ export declare enum SchedulerMode {
19
18
  /**
20
19
  * Configuration for a `@DBOS.scheduled` workflow
21
20
  */
22
- export declare class SchedulerConfig {
23
- /** Schedule, in 5- or 6-spot crontab format; defaults to scheduling every minute */
21
+ export interface SchedulerConfig {
22
+ /** Schedule, in 5- or 6-spot crontab format */
24
23
  crontab: string;
25
24
  /**
26
25
  * Indicates whether or not to retroactively start workflows that were scheduled during
@@ -31,32 +30,12 @@ export declare class SchedulerConfig {
31
30
  queueName?: string;
32
31
  }
33
32
  export type ScheduledArgs = [Date, Date];
34
- export interface SchedulerRegistrationBase extends MethodRegistrationBase {
35
- schedulerConfig?: SchedulerConfig;
33
+ export declare class ScheduledReceiver implements DBOSLifecycleCallback {
34
+ #private;
35
+ constructor();
36
+ initialize(): Promise<void>;
37
+ destroy(): Promise<void>;
38
+ logRegisteredEndpoints(): void;
39
+ static registerScheduled<This, Return>(func: (this: This, ...args: ScheduledArgs) => Promise<Return>, config: SchedulerConfig & FunctionName): void;
36
40
  }
37
- export declare class DBOSScheduler {
38
- readonly dbosExec: DBOSExecutor;
39
- constructor(dbosExec: DBOSExecutor);
40
- schedLoops: DetachableLoop[];
41
- schedTasks: Promise<void>[];
42
- initScheduler(): void;
43
- destroyScheduler(): Promise<void>;
44
- logRegisteredSchedulerEndpoints(): void;
45
- }
46
- declare class DetachableLoop {
47
- readonly dbosExec: DBOSExecutor;
48
- readonly crontab: string;
49
- readonly schedMode: SchedulerMode;
50
- readonly scheduledMethod: SchedulerRegistrationBase;
51
- readonly queueName?: string | undefined;
52
- private isRunning;
53
- private interruptResolve?;
54
- private lastExec;
55
- private timeMatcher;
56
- private scheduledMethodName;
57
- constructor(dbosExec: DBOSExecutor, crontab: string, schedMode: SchedulerMode, scheduledMethod: SchedulerRegistrationBase, queueName?: string | undefined);
58
- startLoop(): Promise<void>;
59
- setStopLoopFlag(): void;
60
- }
61
- export {};
62
41
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAA6B,sBAAsB,EAAsB,MAAM,eAAe,CAAC;AAOtG;;GAEG;AACH,oBAAY,aAAa;IACvB;;;OAGG;IACH,sBAAsB,2BAA2B;IACjD;;;;OAIG;IACH,gCAAgC,qCAAqC;CACtE;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,aAAa,CAAkD;IACtE,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzC,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD,qBAAa,aAAa;IACZ,QAAQ,CAAC,QAAQ,EAAE,YAAY;gBAAtB,QAAQ,EAAE,YAAY;IAI3C,UAAU,EAAE,cAAc,EAAE,CAAM;IAClC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IAEjC,aAAa;IAiBP,gBAAgB;IAatB,+BAA+B;CAWhC;AAID,cAAM,cAAc;IAQhB,QAAQ,CAAC,QAAQ,EAAE,YAAY;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,SAAS,EAAE,aAAa;IACjC,QAAQ,CAAC,eAAe,EAAE,yBAAyB;IACnD,QAAQ,CAAC,SAAS,CAAC;IAXrB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAAS;gBAGzB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,yBAAyB,EAC1C,SAAS,CAAC,oBAAQ;IAQvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAwFhC,eAAe;CAOhB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAA0B,MAAM,eAAe,CAAC;AAO5F;;GAEG;AACH,oBAAY,aAAa;IACvB;;;OAGG;IACH,sBAAsB,2BAA2B;IACjD;;;;OAIG;IACH,gCAAgC,qCAAqC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AASzC,qBAAa,iBAAkB,YAAW,qBAAqB;;;IASvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,sBAAsB,IAAI,IAAI;IAuG9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EACnC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,EAC7D,MAAM,EAAE,eAAe,GAAG,YAAY;CAazC"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBOSScheduler = exports.SchedulerConfig = exports.SchedulerMode = void 0;
3
+ exports.ScheduledReceiver = exports.SchedulerMode = void 0;
4
4
  const __1 = require("..");
5
- const decorators_1 = require("../decorators");
6
5
  const crontab_1 = require("./crontab");
7
6
  ////
8
7
  // Configuration
@@ -24,168 +23,133 @@ var SchedulerMode;
24
23
  */
25
24
  SchedulerMode["ExactlyOncePerIntervalWhenActive"] = "ExactlyOncePerIntervalWhenActive";
26
25
  })(SchedulerMode || (exports.SchedulerMode = SchedulerMode = {}));
27
- /**
28
- * Configuration for a `@DBOS.scheduled` workflow
29
- */
30
- class SchedulerConfig {
31
- /** Schedule, in 5- or 6-spot crontab format; defaults to scheduling every minute */
32
- crontab = '* * * * *';
33
- /**
34
- * Indicates whether or not to retroactively start workflows that were scheduled during
35
- * times when the app was not running. @see `SchedulerMode`.
36
- */
37
- mode = SchedulerMode.ExactlyOncePerIntervalWhenActive;
38
- /** If set, workflows will be enqueued on the named queue, rather than being started immediately */
39
- queueName;
40
- }
41
- exports.SchedulerConfig = SchedulerConfig;
42
26
  ///////////////////////////
43
27
  // Scheduler Management
44
28
  ///////////////////////////
45
- class DBOSScheduler {
46
- dbosExec;
47
- constructor(dbosExec) {
48
- this.dbosExec = dbosExec;
49
- dbosExec.scheduler = this;
29
+ const SCHEDULER_EVENT_SERVICE_NAME = 'dbos.scheduler';
30
+ class ScheduledReceiver {
31
+ #controller = new AbortController();
32
+ #disposables = new Array();
33
+ constructor() {
34
+ __1.DBOS.registerLifecycleCallback(this);
50
35
  }
51
- schedLoops = [];
52
- schedTasks = [];
53
- initScheduler() {
54
- for (const registeredOperation of (0, decorators_1.getAllRegisteredFunctions)()) {
55
- const ro = registeredOperation;
56
- if (ro.schedulerConfig) {
57
- const loop = new DetachableLoop(this.dbosExec, ro.schedulerConfig.crontab ?? '* * * * *', ro.schedulerConfig.mode ?? SchedulerMode.ExactlyOncePerInterval, ro, ro.schedulerConfig?.queueName);
58
- this.schedLoops.push(loop);
59
- this.schedTasks.push(loop.startLoop());
36
+ // eslint-disable-next-line @typescript-eslint/require-await
37
+ async initialize() {
38
+ for (const regOp of __1.DBOS.getAssociatedInfo(SCHEDULER_EVENT_SERVICE_NAME)) {
39
+ if (regOp.methodReg.registeredFunction === undefined) {
40
+ __1.DBOS.logger.warn(`Scheduled workflow ${regOp.methodReg.className}.${regOp.methodReg.name} is missing registered function; skipping`);
41
+ continue;
42
+ }
43
+ const { crontab, mode, queueName } = regOp.methodConfig;
44
+ if (!crontab) {
45
+ __1.DBOS.logger.warn(`Scheduled workflow ${regOp.methodReg.className}.${regOp.methodReg.name} is missing crontab; skipping`);
46
+ continue;
60
47
  }
48
+ const timeMatcher = new crontab_1.TimeMatcher(crontab);
49
+ const promise = ScheduledReceiver.#schedulerLoop(regOp.methodReg, timeMatcher, mode ?? SchedulerMode.ExactlyOncePerIntervalWhenActive, queueName, this.#controller.signal);
50
+ this.#disposables.push(promise);
61
51
  }
62
52
  }
63
- async destroyScheduler() {
64
- for (const l of this.schedLoops) {
65
- l.setStopLoopFlag();
66
- }
67
- this.schedLoops = [];
68
- try {
69
- await Promise.allSettled(this.schedTasks);
70
- }
71
- catch (e) {
72
- // What gets caught here is the loop stopping, which is what we wanted.
73
- }
74
- this.schedTasks = [];
53
+ async destroy() {
54
+ this.#controller.abort();
55
+ const promises = this.#disposables.splice(0);
56
+ await Promise.allSettled(promises);
75
57
  }
76
- logRegisteredSchedulerEndpoints() {
58
+ logRegisteredEndpoints() {
77
59
  __1.DBOS.logger.info('Scheduled endpoints:');
78
- (0, decorators_1.getAllRegisteredFunctions)().forEach((registeredOperation) => {
79
- const ro = registeredOperation;
80
- if (ro.schedulerConfig) {
81
- __1.DBOS.logger.info(` ${ro.name} @ ${ro.schedulerConfig.crontab}; ${ro.schedulerConfig.mode ?? SchedulerMode.ExactlyOncePerInterval}`);
60
+ for (const regOp of __1.DBOS.getAssociatedInfo(SCHEDULER_EVENT_SERVICE_NAME)) {
61
+ const name = `${regOp.methodReg.className}.${regOp.methodReg.name}`;
62
+ const { crontab, mode } = regOp.methodConfig;
63
+ if (crontab) {
64
+ __1.DBOS.logger.info(` ${name} @ ${crontab}; ${mode ?? SchedulerMode.ExactlyOncePerIntervalWhenActive}`);
82
65
  }
83
- });
84
- }
85
- }
86
- exports.DBOSScheduler = DBOSScheduler;
87
- const SCHEDULER_EVENT_SERVICE_NAME = 'dbos.scheduler';
88
- class DetachableLoop {
89
- dbosExec;
90
- crontab;
91
- schedMode;
92
- scheduledMethod;
93
- queueName;
94
- isRunning = false;
95
- interruptResolve;
96
- lastExec;
97
- timeMatcher;
98
- scheduledMethodName;
99
- constructor(dbosExec, crontab, schedMode, scheduledMethod, queueName) {
100
- this.dbosExec = dbosExec;
101
- this.crontab = crontab;
102
- this.schedMode = schedMode;
103
- this.scheduledMethod = scheduledMethod;
104
- this.queueName = queueName;
105
- this.lastExec = new Date();
106
- this.lastExec.setMilliseconds(0);
107
- this.timeMatcher = new crontab_1.TimeMatcher(crontab);
108
- this.scheduledMethodName = `${scheduledMethod.className}.${scheduledMethod.name}`;
66
+ else {
67
+ __1.DBOS.logger.info(` ${name} is missing crontab; skipping`);
68
+ }
69
+ }
109
70
  }
110
- async startLoop() {
111
- // See if the exec time is available in durable storage...
112
- if (this.schedMode === SchedulerMode.ExactlyOncePerInterval) {
113
- const lastState = await __1.DBOS.getEventDispatchState(SCHEDULER_EVENT_SERVICE_NAME, this.scheduledMethodName, 'lastState');
114
- const lasttm = lastState?.value;
115
- if (lasttm) {
116
- this.lastExec = new Date(parseFloat(lasttm));
71
+ static async #schedulerLoop(methodReg, timeMatcher, mode, queueName, signal) {
72
+ const name = `${methodReg.className}.${methodReg.name}`;
73
+ let lastExec = new Date().setMilliseconds(0);
74
+ if (mode === SchedulerMode.ExactlyOncePerInterval) {
75
+ const lastState = await __1.DBOS.getEventDispatchState(SCHEDULER_EVENT_SERVICE_NAME, name, 'lastState');
76
+ if (lastState?.value) {
77
+ lastExec = parseFloat(lastState.value);
117
78
  }
118
79
  }
119
- this.isRunning = true;
120
- while (this.isRunning) {
121
- const nextExecTime = this.timeMatcher.nextWakeupTime(this.lastExec);
122
- const sleepTime = nextExecTime.getTime() - Date.now();
80
+ while (!signal.aborted) {
81
+ const nextExec = timeMatcher.nextWakeupTime(lastExec).getTime();
82
+ const sleepTime = nextExec - Date.now();
123
83
  if (sleepTime > 0) {
124
- // Wait for either the timeout or an interruption
125
- let timer;
126
- const timeoutPromise = new Promise((resolve) => {
127
- timer = setTimeout(() => {
84
+ await new Promise((resolve, reject) => {
85
+ // eslint-disable-next-line prefer-const
86
+ let timeoutID;
87
+ const onAbort = () => {
88
+ clearTimeout(timeoutID);
89
+ reject(new Error('Abort signal received'));
90
+ };
91
+ signal.addEventListener('abort', onAbort, { once: true });
92
+ if (signal.aborted) {
93
+ signal.removeEventListener('abort', onAbort);
94
+ reject(new Error('Abort signal received'));
95
+ }
96
+ timeoutID = setTimeout(() => {
97
+ signal.removeEventListener('abort', onAbort);
128
98
  resolve();
129
99
  }, sleepTime);
130
100
  });
131
- await Promise.race([timeoutPromise, new Promise((_, reject) => (this.interruptResolve = reject))]).catch(() => {
132
- __1.DBOS.logger.debug('Scheduler loop interrupted!');
133
- }); // Interrupt sleep throws
134
- clearTimeout(timer);
135
101
  }
136
- if (!this.isRunning) {
102
+ if (signal.aborted) {
137
103
  break;
138
104
  }
139
- // Check crontab
140
- // If this "wake up" time is not on the schedule, we shouldn't execute.
141
- // (While ATOW this wake-up time is a scheduled run time, it is not
142
- // contractually obligated to be so. If this is obligated to be a
143
- // scheduled execution time, then we could make this an assertion
144
- // instead of a check.)
145
- if (!this.timeMatcher.match(nextExecTime)) {
146
- this.lastExec = nextExecTime;
105
+ if (!timeMatcher.match(nextExec)) {
106
+ lastExec = nextExec;
147
107
  continue;
148
108
  }
149
- // Init workflow
150
- const workflowUUID = `sched-${this.scheduledMethodName}-${nextExecTime.toISOString()}`;
151
- __1.DBOS.logger.debug(`Executing scheduled workflow ${workflowUUID}`);
152
- const wfParams = {
153
- workflowUUID: workflowUUID,
154
- configuredInstance: null,
155
- queueName: this.queueName,
156
- };
157
- // All operations annotated with Scheduled decorators must take in these four
158
- const args = [nextExecTime, new Date()];
159
- // We currently only support scheduled workflows
160
- if (this.scheduledMethod.workflowConfig) {
161
- // Execute the workflow
162
- await this.dbosExec.workflow(this.scheduledMethod.registeredFunction, wfParams, ...args);
109
+ const date = new Date(nextExec);
110
+ if (methodReg.workflowConfig && methodReg.registeredFunction) {
111
+ const workflowID = `sched-${name}-${date.toISOString()}`;
112
+ const wfParams = { workflowID, queueName };
113
+ __1.DBOS.logger.debug(`Executing scheduled workflow ${workflowID}`);
114
+ await __1.DBOS.startWorkflow(methodReg.registeredFunction, wfParams)(date, new Date());
163
115
  }
164
116
  else {
165
- __1.DBOS.logger.error(`Function ${this.scheduledMethodName} is @scheduled but not a workflow`);
117
+ __1.DBOS.logger.error(`${name} is @scheduled but not a workflow`);
166
118
  }
167
- // Record the time of the wf kicked off
168
- const ers = {
169
- service: SCHEDULER_EVENT_SERVICE_NAME,
170
- workflowFnName: this.scheduledMethodName,
171
- key: 'lastState',
172
- value: `${nextExecTime.getTime()}`,
173
- updateTime: nextExecTime.getTime(),
174
- };
175
- const updRec = await __1.DBOS.upsertEventDispatchState(ers);
176
- const dbTime = parseFloat(updRec.value);
177
- if (dbTime && dbTime > nextExecTime.getTime())
178
- nextExecTime.setTime(dbTime);
179
- this.lastExec = nextExecTime;
119
+ lastExec = await ScheduledReceiver.#setLastExecTime(name, nextExec);
180
120
  }
181
121
  }
182
- setStopLoopFlag() {
183
- if (!this.isRunning)
184
- return;
185
- this.isRunning = false;
186
- if (this.interruptResolve) {
187
- this.interruptResolve(); // Trigger the interruption
122
+ static async #setLastExecTime(name, time) {
123
+ // Record the time of the wf kicked off
124
+ const state = {
125
+ service: SCHEDULER_EVENT_SERVICE_NAME,
126
+ workflowFnName: name,
127
+ key: 'lastState',
128
+ value: `${time}`,
129
+ updateTime: time,
130
+ };
131
+ const newState = await __1.DBOS.upsertEventDispatchState(state);
132
+ const dbTime = parseFloat(newState.value);
133
+ if (dbTime && dbTime > time) {
134
+ return dbTime;
188
135
  }
136
+ return time;
137
+ }
138
+ // registerScheduled is static so it can be called before an instance is created during DBOS.launch.
139
+ // This means we can't use the instance as the external info key for associateFunctionWithInfo below
140
+ // or in getAssociatedInfo above...which means we can only have one scheduled receiver instance.
141
+ // However, since this is an internal receiver, it's safe to assume there is ever only one instnace.
142
+ static registerScheduled(func, config) {
143
+ const { regInfo } = __1.DBOS.associateFunctionWithInfo(SCHEDULER_EVENT_SERVICE_NAME, func, {
144
+ ctorOrProto: config.ctorOrProto,
145
+ className: config.className,
146
+ name: config.name ?? func.name,
147
+ });
148
+ const schedRegInfo = regInfo;
149
+ schedRegInfo.crontab = config.crontab;
150
+ schedRegInfo.mode = config.mode;
151
+ schedRegInfo.queueName = config.queueName;
189
152
  }
190
153
  }
154
+ exports.ScheduledReceiver = ScheduledReceiver;
191
155
  //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
- import { DBOSConfigInternal, DBOSEventReceiverState } from './dbos-executor';
2
+ import { DBOSConfigInternal, DBOSExternalState } from './dbos-executor';
3
3
  import { Pool, PoolConfig, Client } from 'pg';
4
4
  import { GetPendingWorkflowsOutput, GetQueuedWorkflowsInput, GetWorkflowsInput, StatusString } from './workflow';
5
5
  import { operation_outputs } from '../schemas/system_db_schema';
6
- import { GlobalLogger as Logger } from './telemetry/logs';
6
+ import { GlobalLogger } from './telemetry/logs';
7
7
  import { Knex } from 'knex';
8
8
  import { WorkflowQueue } from './wfqueue';
9
9
  export interface SystemDatabaseStoredResult {
@@ -71,8 +71,8 @@ export interface SystemDatabase {
71
71
  functionID: number;
72
72
  timeoutFunctionID: number;
73
73
  }): Promise<string | null>;
74
- getEventDispatchState(service: string, workflowFnName: string, key: string): Promise<DBOSEventReceiverState | undefined>;
75
- upsertEventDispatchState(state: DBOSEventReceiverState): Promise<DBOSEventReceiverState>;
74
+ getEventDispatchState(service: string, workflowFnName: string, key: string): Promise<DBOSExternalState | undefined>;
75
+ upsertEventDispatchState(state: DBOSExternalState): Promise<DBOSExternalState>;
76
76
  listWorkflows(input: GetWorkflowsInput): Promise<WorkflowStatusInternal[]>;
77
77
  listQueuedWorkflows(input: GetQueuedWorkflowsInput): Promise<WorkflowStatusInternal[]>;
78
78
  garbageCollect(cutoffEpochTimestampMs?: number, rowsThreshold?: number): Promise<void>;
@@ -109,7 +109,7 @@ export interface EnqueueOptions {
109
109
  export interface ExistenceCheck {
110
110
  exists: boolean;
111
111
  }
112
- export declare function migrateSystemDatabase(systemPoolConfig: PoolConfig, logger: Logger): Promise<void>;
112
+ export declare function migrateSystemDatabase(systemPoolConfig: PoolConfig, logger: GlobalLogger): Promise<void>;
113
113
  declare class NotificationMap<T> {
114
114
  map: Map<string, Map<number, (event?: T) => void>>;
115
115
  curCK: number;
@@ -127,7 +127,7 @@ export declare class PostgresSystemDatabase implements SystemDatabase {
127
127
  #private;
128
128
  readonly pgPoolConfig: PoolConfig;
129
129
  readonly systemDatabaseName: string;
130
- readonly logger: Logger;
130
+ readonly logger: GlobalLogger;
131
131
  readonly sysDbPoolSize?: number | undefined;
132
132
  readonly pool: Pool;
133
133
  readonly systemPoolConfig: PoolConfig;
@@ -141,7 +141,7 @@ export declare class PostgresSystemDatabase implements SystemDatabase {
141
141
  readonly cancelWakeupMap: NotificationMap<void>;
142
142
  readonly runningWorkflowMap: Map<string, Promise<unknown>>;
143
143
  readonly workflowCancellationMap: Map<string, boolean>;
144
- constructor(pgPoolConfig: PoolConfig, systemDatabaseName: string, logger: Logger, sysDbPoolSize?: number | undefined);
144
+ constructor(pgPoolConfig: PoolConfig, systemDatabaseName: string, logger: GlobalLogger, sysDbPoolSize?: number | undefined);
145
145
  init(): Promise<void>;
146
146
  destroy(): Promise<void>;
147
147
  static dropSystemDB(dbosConfig: DBOSConfigInternal): Promise<void>;
@@ -187,8 +187,8 @@ export declare class PostgresSystemDatabase implements SystemDatabase {
187
187
  * workflow listener by resolving its promise.
188
188
  */
189
189
  reconnectTimeout: NodeJS.Timeout | null;
190
- getEventDispatchState(service: string, workflowName: string, key: string): Promise<DBOSEventReceiverState | undefined>;
191
- upsertEventDispatchState(state: DBOSEventReceiverState): Promise<DBOSEventReceiverState>;
190
+ getEventDispatchState(service: string, workflowName: string, key: string): Promise<DBOSExternalState | undefined>;
191
+ upsertEventDispatchState(state: DBOSExternalState): Promise<DBOSExternalState>;
192
192
  listWorkflows(input: GetWorkflowsInput): Promise<WorkflowStatusInternal[]>;
193
193
  listQueuedWorkflows(input: GetQueuedWorkflowsInput): Promise<WorkflowStatusInternal[]>;
194
194
  clearQueueAssignment(workflowID: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ const workflow_1 = require("./workflow");
20
20
  const utils_1 = require("./utils");
21
21
  const knex_1 = __importDefault(require("knex"));
22
22
  const path_1 = __importDefault(require("path"));
23
+ const fs_1 = __importDefault(require("fs"));
23
24
  const crypto_1 = require("crypto");
24
25
  exports.DBOS_FUNCNAME_SEND = 'DBOS.send';
25
26
  exports.DBOS_FUNCNAME_RECV = 'DBOS.recv';
@@ -28,7 +29,19 @@ exports.DBOS_FUNCNAME_GETEVENT = 'DBOS.getEvent';
28
29
  exports.DBOS_FUNCNAME_SLEEP = 'DBOS.sleep';
29
30
  exports.DBOS_FUNCNAME_GETSTATUS = 'getStatus';
30
31
  async function migrateSystemDatabase(systemPoolConfig, logger) {
31
- const migrationsDirectory = path_1.default.join((0, utils_1.findPackageRoot)(__dirname), 'migrations');
32
+ let migrationsDirectory;
33
+ try {
34
+ migrationsDirectory = path_1.default.join((0, utils_1.findPackageRoot)(__dirname), 'migrations');
35
+ }
36
+ catch (packageError) {
37
+ migrationsDirectory = path_1.default.join(__dirname, 'migrations');
38
+ }
39
+ // Check if migrations directory exists
40
+ if (!fs_1.default.existsSync(migrationsDirectory)) {
41
+ logger.warn('DBOS system database migration files not found. If you are using a bundler, DBOS cannot automatically create the system database. ' +
42
+ 'Please run "npx dbos migrate" to create your system database before running your bundled application.');
43
+ return;
44
+ }
32
45
  const knexConfig = {
33
46
  client: 'pg',
34
47
  connection: systemPoolConfig,