@resonatehq/sdk 0.3.7 → 0.5.1

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 (55) hide show
  1. package/README.md +24 -130
  2. package/dist/async.d.ts +99 -49
  3. package/dist/async.d.ts.map +1 -1
  4. package/dist/async.js +173 -100
  5. package/dist/async.js.map +1 -1
  6. package/dist/core/execution.d.ts +13 -10
  7. package/dist/core/execution.d.ts.map +1 -1
  8. package/dist/core/execution.js +174 -69
  9. package/dist/core/execution.js.map +1 -1
  10. package/dist/core/future.d.ts +6 -4
  11. package/dist/core/future.d.ts.map +1 -1
  12. package/dist/core/future.js +7 -1
  13. package/dist/core/future.js.map +1 -1
  14. package/dist/core/invocation.d.ts +6 -5
  15. package/dist/core/invocation.d.ts.map +1 -1
  16. package/dist/core/invocation.js +40 -14
  17. package/dist/core/invocation.js.map +1 -1
  18. package/dist/core/options.d.ts +32 -11
  19. package/dist/core/options.d.ts.map +1 -1
  20. package/dist/core/options.js +3 -3
  21. package/dist/core/options.js.map +1 -1
  22. package/dist/core/promises/promises.d.ts +4 -3
  23. package/dist/core/promises/promises.d.ts.map +1 -1
  24. package/dist/core/promises/promises.js +7 -3
  25. package/dist/core/promises/promises.js.map +1 -1
  26. package/dist/core/promises/types.d.ts.map +1 -1
  27. package/dist/core/promises/types.js +2 -5
  28. package/dist/core/promises/types.js.map +1 -1
  29. package/dist/core/schedules/schedules.d.ts +22 -0
  30. package/dist/core/schedules/schedules.d.ts.map +1 -0
  31. package/dist/core/schedules/schedules.js +29 -0
  32. package/dist/core/schedules/schedules.js.map +1 -0
  33. package/dist/core/store.d.ts +5 -2
  34. package/dist/core/store.d.ts.map +1 -1
  35. package/dist/core/stores/local.d.ts +1 -1
  36. package/dist/core/stores/local.d.ts.map +1 -1
  37. package/dist/core/stores/local.js +7 -5
  38. package/dist/core/stores/local.js.map +1 -1
  39. package/dist/core/stores/remote.d.ts +7 -7
  40. package/dist/core/stores/remote.d.ts.map +1 -1
  41. package/dist/core/stores/remote.js +30 -23
  42. package/dist/core/stores/remote.js.map +1 -1
  43. package/dist/generator.d.ts +39 -18
  44. package/dist/generator.d.ts.map +1 -1
  45. package/dist/generator.js +72 -73
  46. package/dist/generator.js.map +1 -1
  47. package/dist/index.d.ts +23 -3
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +38 -6
  50. package/dist/index.js.map +1 -1
  51. package/dist/resonate.d.ts +109 -32
  52. package/dist/resonate.d.ts.map +1 -1
  53. package/dist/resonate.js +144 -60
  54. package/dist/resonate.js.map +1 -1
  55. package/package.json +1 -1
@@ -10,10 +10,10 @@ class RemoteStore {
10
10
  promises;
11
11
  schedules;
12
12
  locks;
13
- constructor(url, pid, logger = new logger_1.Logger(), encoder = new base64_1.Base64Encoder()) {
13
+ constructor(url, pid, logger = new logger_1.Logger(), encoder = new base64_1.Base64Encoder(), heartbeatFrequency) {
14
14
  this.promises = new RemotePromiseStore(url, logger, encoder);
15
15
  this.schedules = new RemoteScheduleStore(url, logger, encoder);
16
- this.locks = new RemoteLockStore(url, pid, logger);
16
+ this.locks = new RemoteLockStore(url, pid, logger, heartbeatFrequency);
17
17
  }
18
18
  }
19
19
  exports.RemoteStore = RemoteStore;
@@ -244,35 +244,35 @@ class RemoteLockStore {
244
244
  url;
245
245
  pid;
246
246
  logger;
247
- lockTimeout;
248
- heartbeatDelay;
249
- hearbeatInterval = null;
250
- constructor(url, pid, logger = new logger_1.Logger(), lockTimeout = 60000) {
247
+ heartbeatFrequency;
248
+ heartbeatInterval = null;
249
+ locksHeld = 0;
250
+ constructor(url, pid, logger = new logger_1.Logger(), heartbeatFrequency = 15000) {
251
251
  this.url = url;
252
252
  this.pid = pid;
253
253
  this.logger = logger;
254
- this.lockTimeout = lockTimeout;
255
- this.heartbeatDelay = this.lockTimeout / 4;
254
+ this.heartbeatFrequency = heartbeatFrequency;
256
255
  }
257
- async tryAcquire(resourceId, executionId) {
258
- const acquired = call(`${this.url}/locks/acquire`, (b) => true, {
256
+ async tryAcquire(resourceId, executionId, expiry = this.heartbeatFrequency * 4) {
257
+ // lock expiry cannot be less than heartbeat frequency
258
+ expiry = Math.max(expiry, this.heartbeatFrequency);
259
+ await call(`${this.url}/locks/acquire`, (b) => true, {
259
260
  method: "POST",
260
261
  body: JSON.stringify({
261
262
  resourceId: resourceId,
262
263
  processId: this.pid,
263
264
  executionId: executionId,
264
- expiryInSeconds: this.lockTimeout / 1000,
265
+ expiryInMilliseconds: expiry,
265
266
  }),
266
267
  }, this.logger);
268
+ // increment the number of locks held
269
+ this.locksHeld++;
267
270
  // lazily start the heartbeat
268
271
  this.startHeartbeat();
269
- if (await acquired) {
270
- return true;
271
- }
272
- return false;
272
+ return true;
273
273
  }
274
274
  async release(resourceId, executionId) {
275
- return call(`${this.url}/locks/release`, (b) => b === undefined, {
275
+ await call(`${this.url}/locks/release`, (b) => b === undefined, {
276
276
  method: "POST",
277
277
  headers: {
278
278
  "Content-Type": "application/json",
@@ -282,17 +282,23 @@ class RemoteLockStore {
282
282
  executionId,
283
283
  }),
284
284
  }, this.logger);
285
+ // decrement the number of locks held
286
+ this.locksHeld = Math.max(this.locksHeld - 1, 0);
287
+ if (this.locksHeld === 0) {
288
+ this.stopHeartbeat();
289
+ }
290
+ return true;
285
291
  }
286
292
  startHeartbeat() {
287
- if (this.hearbeatInterval === null) {
293
+ if (this.heartbeatInterval === null) {
288
294
  // the + converts to a number
289
- this.hearbeatInterval = +setInterval(() => this.heartbeat(), this.heartbeatDelay);
295
+ this.heartbeatInterval = +setInterval(() => this.heartbeat(), this.heartbeatFrequency);
290
296
  }
291
297
  }
292
298
  stopHeartbeat() {
293
- if (this.hearbeatInterval !== null) {
294
- clearInterval(this.hearbeatInterval);
295
- this.hearbeatInterval = null;
299
+ if (this.heartbeatInterval !== null) {
300
+ clearInterval(this.heartbeatInterval);
301
+ this.heartbeatInterval = null;
296
302
  }
297
303
  }
298
304
  async heartbeat() {
@@ -305,10 +311,11 @@ class RemoteLockStore {
305
311
  processId: this.pid,
306
312
  }),
307
313
  }, this.logger);
308
- if (res.locksAffected === 0) {
314
+ // set the number of locks held
315
+ this.locksHeld = res.locksAffected;
316
+ if (this.locksHeld === 0) {
309
317
  this.stopHeartbeat();
310
318
  }
311
- return res.locksAffected;
312
319
  }
313
320
  }
314
321
  exports.RemoteLockStore = RemoteLockStore;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../lib/core/stores/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../lib/core/stores/remote.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Future, ResonatePromise } from "./core/future";
2
2
  import { Invocation } from "./core/invocation";
3
3
  import { ResonateOptions, Options, PartialOptions } from "./core/options";
4
+ import { DurablePromise } from "./core/promises/promises";
5
+ import * as schedules from "./core/schedules/schedules";
4
6
  import { ResonateBase } from "./resonate";
5
7
  export type GFunc = (ctx: Context, ...args: any[]) => Generator<Yieldable>;
6
8
  export type IFunc = (info: Info, ...args: any[]) => any;
@@ -39,6 +41,7 @@ export declare class Resonate extends ResonateBase {
39
41
  * @param opts - A partial {@link ResonateOptions} object.
40
42
  */
41
43
  constructor(opts?: Partial<ResonateOptions>);
44
+ protected execute<F extends GFunc>(name: string, id: string, func: F, args: Params<F>, opts: Options, defaults: Options, durablePromise?: DurablePromise<any>): ResonatePromise<Return<F>>;
42
45
  /**
43
46
  * Register a function with Resonate. Registered functions can be invoked by calling {@link run}, or by the returned function.
44
47
  *
@@ -48,18 +51,7 @@ export declare class Resonate extends ResonateBase {
48
51
  * @param opts Resonate options, can be constructed by calling {@link options}.
49
52
  * @returns Resonate function
50
53
  */
51
- register<F extends GFunc>(name: string, func: F, opts?: Partial<Options>): (id: string, ...args: any) => ResonatePromise<Return<F>>;
52
- /**
53
- * Register a function with Resonate. Registered functions can be invoked by calling {@link run}, or by the returned function.
54
- *
55
- * @template F The type of the generator function.
56
- * @param name A unique name to identify the function.
57
- * @param version Version of the function.
58
- * @param func The generator function to register with Resonate.
59
- * @param opts Resonate options, can be constructed by calling {@link options}.
60
- * @returns Resonate function
61
- */
62
- register<F extends GFunc>(name: string, version: number, func: F, opts?: Partial<Options>): (id: string, ...args: any) => ResonatePromise<Return<F>>;
54
+ register<F extends GFunc>(name: string, func: F, opts?: Partial<Options>): (id: string, ...args: Params<F>) => ResonatePromise<Return<F>>;
63
55
  /**
64
56
  * Register a module with Resonate. Registered functions can be invoked by calling {@link run}.
65
57
  *
@@ -69,7 +61,26 @@ export declare class Resonate extends ResonateBase {
69
61
  * @returns Resonate function
70
62
  */
71
63
  registerModule<F extends GFunc>(module: Record<string, F>, opts?: Partial<Options>): void;
72
- protected execute<F extends GFunc>(name: string, version: number, id: string, func: F, args: Params<F>, opts: Options): ResonatePromise<Return<F>>;
64
+ /**
65
+ * Schedule a resonate function.
66
+ *
67
+ * @param name The schedule name.
68
+ * @param cron The schedule cron expression.
69
+ * @param func The function to schedule.
70
+ * @param args The function arguments.
71
+ * @returns The schedule object.
72
+ */
73
+ schedule<F extends GFunc>(name: string, cron: string, func: F, ...args: [...Params<F>, PartialOptions?]): Promise<schedules.Schedule>;
74
+ /**
75
+ * Schedule a resonate function that is already registered.
76
+ *
77
+ * @param name The schedule name.
78
+ * @param cron The schedule cron expression.
79
+ * @param func The registered function name.
80
+ * @param args The function arguments.
81
+ * @returns The schedule object.
82
+ */
83
+ schedule(name: string, cron: string, func: string, ...args: [...any, PartialOptions?]): Promise<schedules.Schedule>;
73
84
  }
74
85
  export declare class Info {
75
86
  private invocation;
@@ -85,7 +96,11 @@ export declare class Info {
85
96
  /**
86
97
  * Deduplicates function invocations with the same id.
87
98
  */
88
- get idempotencyKey(): string | undefined;
99
+ get idempotencyKey(): string;
100
+ /**
101
+ * All configured options for this info.
102
+ */
103
+ get opts(): Options;
89
104
  /**
90
105
  * The timestamp in ms, once this time elapses the function invocation will timeout.
91
106
  */
@@ -102,6 +117,10 @@ export declare class Context {
102
117
  * The running count of child function invocations.
103
118
  */
104
119
  get counter(): number;
120
+ /**
121
+ * The time the invocation was created. Will use the durable promise creation time if available.
122
+ */
123
+ get createdOn(): number;
105
124
  /**
106
125
  * Uniquely identifies the function invocation.
107
126
  */
@@ -109,7 +128,11 @@ export declare class Context {
109
128
  /**
110
129
  * Deduplicates function invocations with the same id.
111
130
  */
112
- get idempotencyKey(): string | undefined;
131
+ get idempotencyKey(): string;
132
+ /**
133
+ * All configured options for this context.
134
+ */
135
+ get opts(): Options;
113
136
  /**
114
137
  * The timestamp in ms, once this time elapses the function invocation will timeout.
115
138
  */
@@ -179,9 +202,7 @@ export declare class Context {
179
202
  * @param opts A partial {@link Options} object.
180
203
  * @returns Options with the __resonate flag set.
181
204
  */
182
- options(opts?: Partial<Options>): Partial<Options> & {
183
- __resonate: true;
184
- };
205
+ options(opts?: Partial<Options>): PartialOptions;
185
206
  }
186
207
  export {};
187
208
  //# sourceMappingURL=generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../lib/generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAExD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAElF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAE3C,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC9D,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAcF,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,SAAS,CAAY;IAE7B;;;;;OAKG;gBACS,IAAI,GAAE,OAAO,CAAC,eAAe,CAAM;IAK/C;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,SAAS,KAAK,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GACtB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3D;;;;;;;;;OASG;IACH,QAAQ,CAAC,CAAC,SAAS,KAAK,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,EACP,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GACtB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAS3D;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM;IAItF,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,OAAO,GACZ,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAG9B;AAMD,qBAAa,IAAI;IACH,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAE/C;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;OAEG;IACH,IAAI,cAAc,uBAEjB;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;CACF;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAE/C;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;OAEG;IACH,IAAI,cAAc,uBAEjB;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAE7E;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAE7E;;;;;;;OAOG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI;IAK1D;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAE9E;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAE9E;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI;IAK3D,OAAO,CAAC,KAAK;IAYb;;;;;OAKG;IACH,OAAO,CAAC,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE;CAG9E"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../lib/generator.ts"],"names":[],"mappings":"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"}
package/dist/generator.js CHANGED
@@ -1,33 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.Context = exports.Info = exports.Resonate = void 0;
27
4
  const execution_1 = require("./core/execution");
28
5
  const future_1 = require("./core/future");
29
6
  const invocation_1 = require("./core/invocation");
30
- const utils = __importStar(require("./core/utils"));
31
7
  const resonate_1 = require("./resonate");
32
8
  /////////////////////////////////////////////////////////////////////
33
9
  // Resonate
@@ -42,10 +18,22 @@ class Resonate extends resonate_1.ResonateBase {
42
18
  */
43
19
  constructor(opts = {}) {
44
20
  super(opts);
45
- this.scheduler = new Scheduler(this.logger);
21
+ this.scheduler = new Scheduler(this);
46
22
  }
47
- register(name, funcOrVersion, funcOrOpts) {
48
- return super.register(name, funcOrVersion, funcOrOpts);
23
+ execute(name, id, func, args, opts, defaults, durablePromise) {
24
+ return this.scheduler.add(name, id, func, args, opts, defaults, durablePromise);
25
+ }
26
+ /**
27
+ * Register a function with Resonate. Registered functions can be invoked by calling {@link run}, or by the returned function.
28
+ *
29
+ * @template F The type of the generator function.
30
+ * @param name A unique name to identify the function.
31
+ * @param func The generator function to register with Resonate.
32
+ * @param opts Resonate options, can be constructed by calling {@link options}.
33
+ * @returns Resonate function
34
+ */
35
+ register(name, func, opts) {
36
+ return super.register(name, func, opts);
49
37
  }
50
38
  /**
51
39
  * Register a module with Resonate. Registered functions can be invoked by calling {@link run}.
@@ -58,8 +46,8 @@ class Resonate extends resonate_1.ResonateBase {
58
46
  registerModule(module, opts = {}) {
59
47
  super.registerModule(module, opts);
60
48
  }
61
- execute(name, version, id, func, args, opts) {
62
- return this.scheduler.add(name, version, id, func, args, opts);
49
+ schedule(name, cron, func, ...args) {
50
+ return super.schedule(name, cron, func, ...args);
63
51
  }
64
52
  }
65
53
  exports.Resonate = Resonate;
@@ -89,6 +77,12 @@ class Info {
89
77
  get idempotencyKey() {
90
78
  return this.invocation.idempotencyKey;
91
79
  }
80
+ /**
81
+ * All configured options for this info.
82
+ */
83
+ get opts() {
84
+ return this.invocation.opts;
85
+ }
92
86
  /**
93
87
  * The timestamp in ms, once this time elapses the function invocation will timeout.
94
88
  */
@@ -99,7 +93,7 @@ class Info {
99
93
  * The resonate function version.
100
94
  */
101
95
  get version() {
102
- return this.invocation.version;
96
+ return this.invocation.root.opts.version;
103
97
  }
104
98
  }
105
99
  exports.Info = Info;
@@ -114,6 +108,12 @@ class Context {
114
108
  get counter() {
115
109
  return this.invocation.counter;
116
110
  }
111
+ /**
112
+ * The time the invocation was created. Will use the durable promise creation time if available.
113
+ */
114
+ get createdOn() {
115
+ return this.invocation.createdOn;
116
+ }
117
117
  /**
118
118
  * Uniquely identifies the function invocation.
119
119
  */
@@ -126,6 +126,12 @@ class Context {
126
126
  get idempotencyKey() {
127
127
  return this.invocation.idempotencyKey;
128
128
  }
129
+ /**
130
+ * All configured options for this context.
131
+ */
132
+ get opts() {
133
+ return this.invocation.opts;
134
+ }
129
135
  /**
130
136
  * The timestamp in ms, once this time elapses the function invocation will timeout.
131
137
  */
@@ -136,7 +142,7 @@ class Context {
136
142
  * The resonate function version.
137
143
  */
138
144
  get version() {
139
- return this.invocation.version;
145
+ return this.invocation.root.opts.version;
140
146
  }
141
147
  run(func, ...args) {
142
148
  return this._call(func, args, false);
@@ -171,7 +177,7 @@ exports.Context = Context;
171
177
  // Scheduler
172
178
  /////////////////////////////////////////////////////////////////////
173
179
  class Scheduler {
174
- logger;
180
+ resonate;
175
181
  // tick is mutually exclusive
176
182
  running = false;
177
183
  // all top level executions
@@ -184,42 +190,39 @@ class Scheduler {
184
190
  executions = [];
185
191
  // executions that have been killed
186
192
  killed = [];
187
- constructor(logger) {
188
- this.logger = logger;
193
+ constructor(resonate) {
194
+ this.resonate = resonate;
189
195
  }
190
- add(name, version, id, func, args, opts) {
196
+ add(name, id, func, args, opts, defaults, durablePromise) {
191
197
  // if the execution is already running, and not killed,
192
198
  // return the promise
193
- if (this.cache[id] && !this.cache[id].killed) {
199
+ if (opts.durable && this.cache[id] && !this.cache[id].killed) {
194
200
  return this.cache[id].execute();
195
201
  }
196
- // the idempotency key is a hash of the id
197
- const idempotencyKey = utils.hash(id);
198
202
  // params, used for recovery
199
203
  const param = {
200
204
  func: name,
201
- version,
205
+ version: opts.version,
202
206
  args,
203
207
  };
204
208
  // create a new invocation
205
- const invocation = new invocation_1.Invocation(name, version, id, idempotencyKey, undefined, param, opts);
209
+ const invocation = new invocation_1.Invocation(name, id, undefined, param, opts, defaults);
206
210
  // create a new execution
207
211
  const generator = func(new Context(invocation), ...args);
208
- const execution = new execution_1.GeneratorExecution(invocation, generator);
209
- const promise = execution.execute();
212
+ const execution = new execution_1.GeneratorExecution(this.resonate, invocation, generator, durablePromise);
210
213
  // once the durable promise has been created,
211
- // add the execution to runnable
212
- execution.create().then((promise) => {
213
- if (promise && promise.pending) {
214
- this.runnable.push({ execution, promise, next: { kind: "init" } });
214
+ // add the execution to runnable if the future is pending
215
+ execution.create().then(() => {
216
+ if (invocation.future.pending) {
217
+ this.runnable.push({ execution, next: { kind: "init" } });
215
218
  this.tick();
216
219
  }
217
220
  });
218
- // store the invocation, execution, and promise
221
+ // store the invocation and execution,
219
222
  // will be used if run is called again with the same id
220
223
  this.cache[id] = execution;
221
224
  this.executions.push(execution);
222
- return promise;
225
+ return execution.execute();
223
226
  }
224
227
  async tick() {
225
228
  // need to ensure that tick is mutually exclusive,
@@ -231,7 +234,7 @@ class Scheduler {
231
234
  // grab the next continuation
232
235
  const continuation = this.runnable.shift();
233
236
  // step through the generator if in debug mode
234
- if (this.logger.level === "debug" && (await this.keypress()) === "\u001b") {
237
+ if (this.resonate.logger.level === "debug" && (await this.keypress()) === "\u001b") {
235
238
  // kill when escape key is pressed
236
239
  continuation?.execution.kill("manual kill");
237
240
  }
@@ -243,11 +246,11 @@ class Scheduler {
243
246
  if (result.done) {
244
247
  // need to handle the special case where a generator returns a future
245
248
  if (result.value instanceof future_1.Future) {
246
- result.value.promise.then((v) => continuation.execution.resolve(continuation.promise, v), (e) => continuation.execution.reject(continuation.promise, e));
249
+ result.value.promise.then((v) => continuation.execution.resolve(v), (e) => continuation.execution.reject(e));
247
250
  }
248
251
  else {
249
252
  // resolve the durable promise
250
- await continuation.execution.resolve(continuation.promise, result.value);
253
+ await continuation.execution.resolve(result.value);
251
254
  }
252
255
  }
253
256
  else {
@@ -257,7 +260,7 @@ class Scheduler {
257
260
  }
258
261
  catch (error) {
259
262
  // if anything goes wrong, reject the durable promise
260
- await continuation.execution.reject(continuation.promise, error);
263
+ await continuation.execution.reject(error);
261
264
  }
262
265
  // housekeeping
263
266
  if (continuation.execution.killed) {
@@ -304,16 +307,14 @@ class Scheduler {
304
307
  // 1. a provided string in the case of a deferred execution
305
308
  // 2. a generated string in the case of an ordinary execution
306
309
  const id = value.kind === "deferred" ? value.func : `${parent.id}.${parent.counter}`;
307
- // the idempotency key is a hash of the id
308
- const idempotencyKey = utils.hash(id);
309
310
  // human readable name of the function
310
311
  const name = value.kind === "deferred" ? value.func : value.func.name;
311
- // version is inherited from the parent
312
- const version = parent.version;
312
+ // default opts never change
313
+ const defaults = parent.defaults;
313
314
  // param is only required for deferred executions
314
315
  const param = value.kind === "deferred" ? value.args[0] : undefined;
315
316
  // create a new invocation
316
- const invocation = new invocation_1.Invocation(name, version, id, idempotencyKey, undefined, param, value.opts, parent);
317
+ const invocation = new invocation_1.Invocation(name, id, undefined, param, value.opts, defaults, parent);
317
318
  // add child and increment counter
318
319
  parent.addChild(invocation);
319
320
  parent.counter++;
@@ -321,22 +322,22 @@ class Scheduler {
321
322
  if (value.kind === "resonate") {
322
323
  // create a generator execution
323
324
  const ctx = new Context(invocation);
324
- execution = new execution_1.GeneratorExecution(invocation, value.func(ctx, ...value.args));
325
- const promise = await execution.create();
326
- if (promise && promise.pending) {
327
- // if the durable promise is pending, add to runnable
328
- this.runnable.push({ execution, promise, next: { kind: "init" } });
325
+ execution = new execution_1.GeneratorExecution(this.resonate, invocation, value.func(ctx, ...value.args));
326
+ await execution.create();
327
+ // if the future is pending, add to runnable
328
+ if (invocation.future.pending) {
329
+ this.runnable.push({ execution, next: { kind: "init" } });
329
330
  }
330
331
  }
331
332
  else if (value.kind === "ordinary") {
332
333
  // create an ordinary execution
333
334
  const info = new Info(invocation);
334
- execution = new execution_1.OrdinaryExecution(invocation, () => value.func(info, ...value.args));
335
+ execution = new execution_1.OrdinaryExecution(this.resonate, invocation, () => value.func(info, ...value.args));
335
336
  execution.execute().catch(() => { });
336
337
  }
337
338
  else if (value.kind === "deferred") {
338
339
  // create a deferred execution
339
- execution = new execution_1.DeferredExecution(invocation);
340
+ execution = new execution_1.DeferredExecution(this.resonate, invocation);
340
341
  execution.execute().catch(() => { });
341
342
  }
342
343
  else {
@@ -348,7 +349,6 @@ class Scheduler {
348
349
  // if the call is expected to yield a future, add the future to runnable
349
350
  this.runnable.push({
350
351
  execution: continuation.execution,
351
- promise: continuation.promise,
352
352
  next: { kind: "value", value: invocation.future },
353
353
  });
354
354
  }
@@ -357,7 +357,7 @@ class Scheduler {
357
357
  this.applyFuture(continuation, invocation.future);
358
358
  }
359
359
  }
360
- applyFuture({ execution, promise }, future) {
360
+ applyFuture({ execution }, future) {
361
361
  if (execution.invocation.future.root !== future.root) {
362
362
  this.yeet(`yielded future originates from ${future.root.id}, but this execution originates from ${execution.invocation.future.root.id}`);
363
363
  }
@@ -371,7 +371,7 @@ class Scheduler {
371
371
  // remove from awaiting
372
372
  this.awaiting = this.awaiting.filter((e) => e !== execution);
373
373
  // add to runnable
374
- this.runnable.push({ execution, promise, next });
374
+ this.runnable.push({ execution, next });
375
375
  // tick again
376
376
  this.tick();
377
377
  };
@@ -387,7 +387,7 @@ class Scheduler {
387
387
  this.awaiting = this.awaiting.filter((e) => e.invocation.root !== execution.invocation.root);
388
388
  }
389
389
  async keypress() {
390
- this.logger.debug("Press any key to continue...");
390
+ this.resonate.logger.debug("Press any key to continue...");
391
391
  return new Promise((resolve) => {
392
392
  const onData = (data) => {
393
393
  process.stdin.removeListener("data", onData);
@@ -395,7 +395,7 @@ class Scheduler {
395
395
  process.stdin.pause();
396
396
  const c = data.toString();
397
397
  if (c === "\u0003") {
398
- this.logger.debug("^C");
398
+ this.resonate.logger.debug("^C");
399
399
  process.exit(1);
400
400
  }
401
401
  resolve(c);
@@ -406,10 +406,9 @@ class Scheduler {
406
406
  });
407
407
  }
408
408
  print() {
409
- this.logger.debug("Executions");
410
- this.logger.table(this.executions.map((e) => ({
409
+ this.resonate.logger.debug("Executions");
410
+ this.resonate.logger.table(this.executions.map((e) => ({
411
411
  name: e.invocation.name,
412
- version: e.invocation.version,
413
412
  id: e.invocation.id,
414
413
  idempotencyKey: e.invocation.idempotencyKey,
415
414
  parent: e.invocation.parent ? e.invocation.parent.id : undefined,
@@ -421,7 +420,7 @@ class Scheduler {
421
420
  }
422
421
  yeet(msg) {
423
422
  // an unrecoverable error has occurred, log and exit
424
- this.logger.error(msg);
423
+ this.resonate.logger.error(msg);
425
424
  process.exit(1);
426
425
  }
427
426
  }