@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.
- package/README.md +24 -130
- package/dist/async.d.ts +99 -49
- package/dist/async.d.ts.map +1 -1
- package/dist/async.js +173 -100
- package/dist/async.js.map +1 -1
- package/dist/core/execution.d.ts +13 -10
- package/dist/core/execution.d.ts.map +1 -1
- package/dist/core/execution.js +174 -69
- package/dist/core/execution.js.map +1 -1
- package/dist/core/future.d.ts +6 -4
- package/dist/core/future.d.ts.map +1 -1
- package/dist/core/future.js +7 -1
- package/dist/core/future.js.map +1 -1
- package/dist/core/invocation.d.ts +6 -5
- package/dist/core/invocation.d.ts.map +1 -1
- package/dist/core/invocation.js +40 -14
- package/dist/core/invocation.js.map +1 -1
- package/dist/core/options.d.ts +32 -11
- package/dist/core/options.d.ts.map +1 -1
- package/dist/core/options.js +3 -3
- package/dist/core/options.js.map +1 -1
- package/dist/core/promises/promises.d.ts +4 -3
- package/dist/core/promises/promises.d.ts.map +1 -1
- package/dist/core/promises/promises.js +7 -3
- package/dist/core/promises/promises.js.map +1 -1
- package/dist/core/promises/types.d.ts.map +1 -1
- package/dist/core/promises/types.js +2 -5
- package/dist/core/promises/types.js.map +1 -1
- package/dist/core/schedules/schedules.d.ts +22 -0
- package/dist/core/schedules/schedules.d.ts.map +1 -0
- package/dist/core/schedules/schedules.js +29 -0
- package/dist/core/schedules/schedules.js.map +1 -0
- package/dist/core/store.d.ts +5 -2
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/stores/local.d.ts +1 -1
- package/dist/core/stores/local.d.ts.map +1 -1
- package/dist/core/stores/local.js +7 -5
- package/dist/core/stores/local.js.map +1 -1
- package/dist/core/stores/remote.d.ts +7 -7
- package/dist/core/stores/remote.d.ts.map +1 -1
- package/dist/core/stores/remote.js +30 -23
- package/dist/core/stores/remote.js.map +1 -1
- package/dist/generator.d.ts +39 -18
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +72 -73
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +23 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -6
- package/dist/index.js.map +1 -1
- package/dist/resonate.d.ts +109 -32
- package/dist/resonate.d.ts.map +1 -1
- package/dist/resonate.js +144 -60
- package/dist/resonate.js.map +1 -1
- 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
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
constructor(url, pid, logger = new logger_1.Logger(),
|
|
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.
|
|
255
|
-
this.heartbeatDelay = this.lockTimeout / 4;
|
|
254
|
+
this.heartbeatFrequency = heartbeatFrequency;
|
|
256
255
|
}
|
|
257
|
-
async tryAcquire(resourceId, executionId) {
|
|
258
|
-
|
|
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
|
-
|
|
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
|
-
|
|
270
|
-
return true;
|
|
271
|
-
}
|
|
272
|
-
return false;
|
|
272
|
+
return true;
|
|
273
273
|
}
|
|
274
274
|
async release(resourceId, executionId) {
|
|
275
|
-
|
|
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.
|
|
293
|
+
if (this.heartbeatInterval === null) {
|
|
288
294
|
// the + converts to a number
|
|
289
|
-
this.
|
|
295
|
+
this.heartbeatInterval = +setInterval(() => this.heartbeat(), this.heartbeatFrequency);
|
|
290
296
|
}
|
|
291
297
|
}
|
|
292
298
|
stopHeartbeat() {
|
|
293
|
-
if (this.
|
|
294
|
-
clearInterval(this.
|
|
295
|
-
this.
|
|
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
|
-
|
|
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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"}
|
package/dist/generator.d.ts
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
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
|
|
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
|
|
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>):
|
|
183
|
-
__resonate: true;
|
|
184
|
-
};
|
|
205
|
+
options(opts?: Partial<Options>): PartialOptions;
|
|
185
206
|
}
|
|
186
207
|
export {};
|
|
187
208
|
//# sourceMappingURL=generator.d.ts.map
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
21
|
+
this.scheduler = new Scheduler(this);
|
|
46
22
|
}
|
|
47
|
-
|
|
48
|
-
return
|
|
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
|
-
|
|
62
|
-
return
|
|
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
|
-
|
|
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(
|
|
188
|
-
this.
|
|
193
|
+
constructor(resonate) {
|
|
194
|
+
this.resonate = resonate;
|
|
189
195
|
}
|
|
190
|
-
add(name,
|
|
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,
|
|
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((
|
|
213
|
-
if (
|
|
214
|
-
this.runnable.push({ execution,
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
//
|
|
312
|
-
const
|
|
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,
|
|
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
|
-
|
|
326
|
-
if
|
|
327
|
-
|
|
328
|
-
this.runnable.push({ execution,
|
|
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
|
|
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,
|
|
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
|
}
|