@temporalio/client 1.3.0 → 1.4.0
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/lib/async-completion-client.d.ts +1 -1
- package/lib/async-completion-client.js +11 -11
- package/lib/async-completion-client.js.map +1 -1
- package/lib/client.d.ts +1 -1
- package/lib/client.js +3 -3
- package/lib/client.js.map +1 -1
- package/lib/connection.d.ts +1 -1
- package/lib/connection.js +3 -3
- package/lib/connection.js.map +1 -1
- package/lib/grpc-retry.d.ts +51 -8
- package/lib/grpc-retry.js +73 -46
- package/lib/grpc-retry.js.map +1 -1
- package/lib/index.d.ts +5 -6
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/interceptors.d.ts +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/workflow-client.d.ts +2 -1
- package/lib/workflow-client.js +34 -31
- package/lib/workflow-client.js.map +1 -1
- package/lib/workflow-options.d.ts +2 -2
- package/lib/workflow-options.js +1 -1
- package/lib/workflow-options.js.map +1 -1
- package/package.json +4 -6
- package/src/async-completion-client.ts +2 -2
- package/src/client.ts +2 -2
- package/src/connection.ts +1 -1
- package/src/grpc-retry.ts +129 -56
- package/src/index.ts +5 -5
- package/src/interceptors.ts +1 -1
- package/src/types.ts +1 -1
- package/src/workflow-client.ts +13 -10
- package/src/workflow-options.ts +2 -6
package/lib/workflow-client.js
CHANGED
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.QueryNotRegisteredError = exports.QueryRejectedError = exports.WorkflowClient = exports.defaultWorkflowClientOptions = void 0;
|
|
7
7
|
const grpc_js_1 = require("@grpc/grpc-js");
|
|
8
8
|
const common_1 = require("@temporalio/common");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
9
|
+
const internal_non_workflow_1 = require("@temporalio/common/lib/internal-non-workflow");
|
|
10
|
+
const common_2 = require("@temporalio/common");
|
|
11
|
+
const time_1 = require("@temporalio/common/lib/time");
|
|
12
|
+
const interceptors_1 = require("@temporalio/common/lib/interceptors");
|
|
11
13
|
const proto_1 = require("@temporalio/proto");
|
|
12
14
|
const os_1 = __importDefault(require("os"));
|
|
13
15
|
const uuid_1 = require("uuid");
|
|
@@ -47,10 +49,10 @@ class WorkflowClient {
|
|
|
47
49
|
constructor(options) {
|
|
48
50
|
this.connection = options?.connection ?? connection_1.Connection.lazy();
|
|
49
51
|
const dataConverter = options?.dataConverter;
|
|
50
|
-
const loadedDataConverter = (0,
|
|
52
|
+
const loadedDataConverter = (0, internal_non_workflow_1.isLoadedDataConverter)(dataConverter) ? dataConverter : (0, internal_non_workflow_1.loadDataConverter)(dataConverter);
|
|
51
53
|
this.options = {
|
|
52
54
|
...defaultWorkflowClientOptions(),
|
|
53
|
-
...(0,
|
|
55
|
+
...(0, internal_non_workflow_1.filterNullAndUndefined)(options ?? {}),
|
|
54
56
|
loadedDataConverter,
|
|
55
57
|
};
|
|
56
58
|
}
|
|
@@ -91,7 +93,7 @@ class WorkflowClient {
|
|
|
91
93
|
const workflowType = typeof workflowTypeOrFunc === 'string' ? workflowTypeOrFunc : workflowTypeOrFunc.name;
|
|
92
94
|
assertRequiredWorkflowOptions(options);
|
|
93
95
|
const compiledOptions = (0, workflow_options_1.compileWorkflowOptions)(ensureArgs(options));
|
|
94
|
-
const start = (0,
|
|
96
|
+
const start = (0, interceptors_1.composeInterceptors)(interceptors, 'start', this._startWorkflowHandler.bind(this));
|
|
95
97
|
return start({
|
|
96
98
|
options: compiledOptions,
|
|
97
99
|
headers: {},
|
|
@@ -109,7 +111,7 @@ class WorkflowClient {
|
|
|
109
111
|
const { signal, signalArgs, ...rest } = options;
|
|
110
112
|
assertRequiredWorkflowOptions(rest);
|
|
111
113
|
const compiledOptions = (0, workflow_options_1.compileWorkflowOptions)(ensureArgs(rest));
|
|
112
|
-
const signalWithStart = (0,
|
|
114
|
+
const signalWithStart = (0, interceptors_1.composeInterceptors)(interceptors, 'signalWithStart', this._signalWithStartWorkflowHandler.bind(this));
|
|
113
115
|
return signalWithStart({
|
|
114
116
|
options: compiledOptions,
|
|
115
117
|
headers: {},
|
|
@@ -225,7 +227,7 @@ class WorkflowClient {
|
|
|
225
227
|
}
|
|
226
228
|
// Note that we can only return one value from our workflow function in JS.
|
|
227
229
|
// Ignore any other payloads in result
|
|
228
|
-
const [result] = await (0,
|
|
230
|
+
const [result] = await (0, internal_non_workflow_1.decodeArrayFromPayloads)(this.dataConverter, ev.workflowExecutionCompletedEventAttributes.result?.payloads);
|
|
229
231
|
return result;
|
|
230
232
|
}
|
|
231
233
|
else if (ev.workflowExecutionFailedEventAttributes) {
|
|
@@ -235,10 +237,10 @@ class WorkflowClient {
|
|
|
235
237
|
continue;
|
|
236
238
|
}
|
|
237
239
|
const { failure, retryState } = ev.workflowExecutionFailedEventAttributes;
|
|
238
|
-
throw new errors_1.WorkflowFailedError('Workflow execution failed', await (0,
|
|
240
|
+
throw new errors_1.WorkflowFailedError('Workflow execution failed', await (0, internal_non_workflow_1.decodeOptionalFailureToOptionalError)(this.dataConverter, failure), retryState ?? common_1.RetryState.RETRY_STATE_UNSPECIFIED);
|
|
239
241
|
}
|
|
240
242
|
else if (ev.workflowExecutionCanceledEventAttributes) {
|
|
241
|
-
const failure = new common_1.CancelledFailure('Workflow canceled', await (0,
|
|
243
|
+
const failure = new common_1.CancelledFailure('Workflow canceled', await (0, internal_non_workflow_1.decodeArrayFromPayloads)(this.dataConverter, ev.workflowExecutionCanceledEventAttributes.details?.payloads));
|
|
242
244
|
failure.stack = '';
|
|
243
245
|
throw new errors_1.WorkflowFailedError('Workflow execution cancelled', failure, common_1.RetryState.RETRY_STATE_NON_RETRYABLE_FAILURE);
|
|
244
246
|
}
|
|
@@ -274,7 +276,7 @@ class WorkflowClient {
|
|
|
274
276
|
rethrowGrpcError(err, workflowExecution, fallbackMessage) {
|
|
275
277
|
if ((0, errors_1.isServerErrorResponse)(err)) {
|
|
276
278
|
if (err.code === grpc_js_1.status.NOT_FOUND) {
|
|
277
|
-
throw new
|
|
279
|
+
throw new common_2.WorkflowNotFoundError(err.details ?? 'Workflow not found', workflowExecution.workflowId, workflowExecution.runId);
|
|
278
280
|
}
|
|
279
281
|
throw new errors_1.ServiceError(fallbackMessage, { cause: err });
|
|
280
282
|
}
|
|
@@ -294,7 +296,7 @@ class WorkflowClient {
|
|
|
294
296
|
execution: input.workflowExecution,
|
|
295
297
|
query: {
|
|
296
298
|
queryType: input.queryType,
|
|
297
|
-
queryArgs: { payloads: await (0,
|
|
299
|
+
queryArgs: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...input.args) },
|
|
298
300
|
header: { fields: input.headers },
|
|
299
301
|
},
|
|
300
302
|
});
|
|
@@ -315,7 +317,7 @@ class WorkflowClient {
|
|
|
315
317
|
throw new TypeError('Invalid response from server');
|
|
316
318
|
}
|
|
317
319
|
// We ignore anything but the first result
|
|
318
|
-
return await (0,
|
|
320
|
+
return await (0, internal_non_workflow_1.decodeFromPayloadsAtIndex)(this.dataConverter, 0, response.queryResult?.payloads);
|
|
319
321
|
}
|
|
320
322
|
/**
|
|
321
323
|
* Uses given input to make a signalWorkflowExecution call to the service
|
|
@@ -332,7 +334,7 @@ class WorkflowClient {
|
|
|
332
334
|
// control is unused,
|
|
333
335
|
signalName: input.signalName,
|
|
334
336
|
header: { fields: input.headers },
|
|
335
|
-
input: { payloads: await (0,
|
|
337
|
+
input: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...input.args) },
|
|
336
338
|
});
|
|
337
339
|
}
|
|
338
340
|
catch (err) {
|
|
@@ -355,9 +357,9 @@ class WorkflowClient {
|
|
|
355
357
|
workflowId: options.workflowId,
|
|
356
358
|
workflowIdReusePolicy: options.workflowIdReusePolicy,
|
|
357
359
|
workflowType: { name: workflowType },
|
|
358
|
-
input: { payloads: await (0,
|
|
360
|
+
input: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...options.args) },
|
|
359
361
|
signalName,
|
|
360
|
-
signalInput: { payloads: await (0,
|
|
362
|
+
signalInput: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...signalArgs) },
|
|
361
363
|
taskQueue: {
|
|
362
364
|
kind: proto_1.temporal.api.enums.v1.TaskQueueKind.TASK_QUEUE_KIND_UNSPECIFIED,
|
|
363
365
|
name: options.taskQueue,
|
|
@@ -365,8 +367,8 @@ class WorkflowClient {
|
|
|
365
367
|
workflowExecutionTimeout: options.workflowExecutionTimeout,
|
|
366
368
|
workflowRunTimeout: options.workflowRunTimeout,
|
|
367
369
|
workflowTaskTimeout: options.workflowTaskTimeout,
|
|
368
|
-
retryPolicy: options.retry ? (0,
|
|
369
|
-
memo: options.memo ? { fields: await (0,
|
|
370
|
+
retryPolicy: options.retry ? (0, common_2.compileRetryPolicy)(options.retry) : undefined,
|
|
371
|
+
memo: options.memo ? { fields: await (0, internal_non_workflow_1.encodeMapToPayloads)(this.dataConverter, options.memo) } : undefined,
|
|
370
372
|
searchAttributes: options.searchAttributes
|
|
371
373
|
? {
|
|
372
374
|
indexedFields: (0, common_1.mapToPayloads)(common_1.searchAttributePayloadConverter, options.searchAttributes),
|
|
@@ -396,7 +398,7 @@ class WorkflowClient {
|
|
|
396
398
|
workflowId: opts.workflowId,
|
|
397
399
|
workflowIdReusePolicy: opts.workflowIdReusePolicy,
|
|
398
400
|
workflowType: { name: workflowType },
|
|
399
|
-
input: { payloads: await (0,
|
|
401
|
+
input: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...opts.args) },
|
|
400
402
|
taskQueue: {
|
|
401
403
|
kind: proto_1.temporal.api.enums.v1.TaskQueueKind.TASK_QUEUE_KIND_UNSPECIFIED,
|
|
402
404
|
name: opts.taskQueue,
|
|
@@ -404,8 +406,8 @@ class WorkflowClient {
|
|
|
404
406
|
workflowExecutionTimeout: opts.workflowExecutionTimeout,
|
|
405
407
|
workflowRunTimeout: opts.workflowRunTimeout,
|
|
406
408
|
workflowTaskTimeout: opts.workflowTaskTimeout,
|
|
407
|
-
retryPolicy: opts.retry ? (0,
|
|
408
|
-
memo: opts.memo ? { fields: await (0,
|
|
409
|
+
retryPolicy: opts.retry ? (0, common_2.compileRetryPolicy)(opts.retry) : undefined,
|
|
410
|
+
memo: opts.memo ? { fields: await (0, internal_non_workflow_1.encodeMapToPayloads)(this.dataConverter, opts.memo) } : undefined,
|
|
409
411
|
searchAttributes: opts.searchAttributes
|
|
410
412
|
? {
|
|
411
413
|
indexedFields: (0, common_1.mapToPayloads)(common_1.searchAttributePayloadConverter, opts.searchAttributes),
|
|
@@ -437,7 +439,7 @@ class WorkflowClient {
|
|
|
437
439
|
identity: this.options.identity,
|
|
438
440
|
...input,
|
|
439
441
|
details: {
|
|
440
|
-
payloads: input.details ? await (0,
|
|
442
|
+
payloads: input.details ? await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...input.details) : undefined,
|
|
441
443
|
},
|
|
442
444
|
firstExecutionRunId: input.firstExecutionRunId,
|
|
443
445
|
});
|
|
@@ -493,7 +495,7 @@ class WorkflowClient {
|
|
|
493
495
|
},
|
|
494
496
|
async terminate(reason) {
|
|
495
497
|
const next = this.client._terminateWorkflowHandler.bind(this.client);
|
|
496
|
-
const fn = interceptors.length ? (0,
|
|
498
|
+
const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'terminate', next) : next;
|
|
497
499
|
return await fn({
|
|
498
500
|
workflowExecution: { workflowId, runId },
|
|
499
501
|
reason,
|
|
@@ -502,7 +504,7 @@ class WorkflowClient {
|
|
|
502
504
|
},
|
|
503
505
|
async cancel() {
|
|
504
506
|
const next = this.client._cancelWorkflowHandler.bind(this.client);
|
|
505
|
-
const fn = interceptors.length ? (0,
|
|
507
|
+
const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'cancel', next) : next;
|
|
506
508
|
return await fn({
|
|
507
509
|
workflowExecution: { workflowId, runId },
|
|
508
510
|
firstExecutionRunId,
|
|
@@ -510,7 +512,7 @@ class WorkflowClient {
|
|
|
510
512
|
},
|
|
511
513
|
async describe() {
|
|
512
514
|
const next = this.client._describeWorkflowHandler.bind(this.client);
|
|
513
|
-
const fn = interceptors.length ? (0,
|
|
515
|
+
const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'describe', next) : next;
|
|
514
516
|
const raw = await fn({
|
|
515
517
|
workflowExecution: { workflowId, runId },
|
|
516
518
|
});
|
|
@@ -526,11 +528,12 @@ class WorkflowClient {
|
|
|
526
528
|
},
|
|
527
529
|
// Safe to convert to number, max history length is 50k, which is much less than Number.MAX_SAFE_INTEGER
|
|
528
530
|
historyLength: raw.workflowExecutionInfo.historyLength.toNumber(),
|
|
529
|
-
startTime: (0,
|
|
530
|
-
executionTime: (0,
|
|
531
|
-
closeTime: (0,
|
|
532
|
-
memo: await (0,
|
|
533
|
-
searchAttributes: (0, common_1.mapFromPayloads)(common_1.searchAttributePayloadConverter, raw.workflowExecutionInfo.searchAttributes?.indexedFields ?? {}),
|
|
531
|
+
startTime: (0, time_1.tsToDate)(raw.workflowExecutionInfo.startTime),
|
|
532
|
+
executionTime: (0, time_1.optionalTsToDate)(raw.workflowExecutionInfo.executionTime),
|
|
533
|
+
closeTime: (0, time_1.optionalTsToDate)(raw.workflowExecutionInfo.closeTime),
|
|
534
|
+
memo: await (0, internal_non_workflow_1.decodeMapFromPayloads)(this.client.dataConverter, raw.workflowExecutionInfo.memo?.fields),
|
|
535
|
+
searchAttributes: Object.fromEntries(Object.entries((0, common_1.mapFromPayloads)(common_1.searchAttributePayloadConverter, raw.workflowExecutionInfo.searchAttributes?.indexedFields ?? {})).filter(([_, v]) => v && v.length > 0) // Filter out empty arrays returned by pre 1.18 servers
|
|
536
|
+
),
|
|
534
537
|
parentExecution: raw.workflowExecutionInfo?.parentExecution
|
|
535
538
|
? {
|
|
536
539
|
workflowId: raw.workflowExecutionInfo.parentExecution.workflowId,
|
|
@@ -542,7 +545,7 @@ class WorkflowClient {
|
|
|
542
545
|
},
|
|
543
546
|
async signal(def, ...args) {
|
|
544
547
|
const next = this.client._signalWorkflowHandler.bind(this.client);
|
|
545
|
-
const fn = interceptors.length ? (0,
|
|
548
|
+
const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'signal', next) : next;
|
|
546
549
|
await fn({
|
|
547
550
|
workflowExecution: { workflowId, runId },
|
|
548
551
|
signalName: typeof def === 'string' ? def : def.name,
|
|
@@ -552,7 +555,7 @@ class WorkflowClient {
|
|
|
552
555
|
},
|
|
553
556
|
async query(def, ...args) {
|
|
554
557
|
const next = this.client._queryWorkflowHandler.bind(this.client);
|
|
555
|
-
const fn = interceptors.length ? (0,
|
|
558
|
+
const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'query', next) : next;
|
|
556
559
|
return fn({
|
|
557
560
|
workflowExecution: { workflowId, runId },
|
|
558
561
|
queryRejectCondition: this.client.options.queryRejectCondition,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-client.js","sourceRoot":"","sources":["../src/workflow-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-client.js","sourceRoot":"","sources":["../src/workflow-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommonWorkflowOptions, SignalDefinition, WithCompiledWorkflowOptions } from '@temporalio/
|
|
2
|
-
export * from '@temporalio/
|
|
1
|
+
import { CommonWorkflowOptions, SignalDefinition, WithCompiledWorkflowOptions } from '@temporalio/common';
|
|
2
|
+
export * from '@temporalio/common/lib/workflow-options';
|
|
3
3
|
export interface CompiledWorkflowOptions extends WithCompiledWorkflowOptions<WorkflowOptions> {
|
|
4
4
|
args: unknown[];
|
|
5
5
|
}
|
package/lib/workflow-options.js
CHANGED
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("@temporalio/
|
|
17
|
+
__exportStar(require("@temporalio/common/lib/workflow-options"), exports);
|
|
18
18
|
//# sourceMappingURL=workflow-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-options.js","sourceRoot":"","sources":["../src/workflow-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"workflow-options.js","sourceRoot":"","sources":["../src/workflow-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,0EAAwD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Temporal.io SDK Client sub-package",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -14,10 +14,8 @@
|
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@grpc/grpc-js": "^1.6.7",
|
|
17
|
-
"@temporalio/common": "^1.
|
|
18
|
-
"@temporalio/
|
|
19
|
-
"@temporalio/internal-workflow-common": "^1.3.0",
|
|
20
|
-
"@temporalio/proto": "^1.3.0",
|
|
17
|
+
"@temporalio/common": "^1.4.0",
|
|
18
|
+
"@temporalio/proto": "^1.4.0",
|
|
21
19
|
"ms": "^2.1.3",
|
|
22
20
|
"uuid": "^8.3.2"
|
|
23
21
|
},
|
|
@@ -35,5 +33,5 @@
|
|
|
35
33
|
"src",
|
|
36
34
|
"lib"
|
|
37
35
|
],
|
|
38
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "4b757ebbc052f327cc37e5693f46c8127c156b0c"
|
|
39
37
|
}
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
filterNullAndUndefined,
|
|
7
7
|
isLoadedDataConverter,
|
|
8
8
|
loadDataConverter,
|
|
9
|
-
} from '@temporalio/internal-non-workflow
|
|
10
|
-
import { Replace } from '@temporalio/
|
|
9
|
+
} from '@temporalio/common/lib/internal-non-workflow';
|
|
10
|
+
import { Replace } from '@temporalio/common/lib/type-helpers';
|
|
11
11
|
import os from 'os';
|
|
12
12
|
import { Connection } from './connection';
|
|
13
13
|
import { isServerErrorResponse } from './errors';
|
package/src/client.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataConverter, LoadedDataConverter } from '@temporalio/common';
|
|
2
|
-
import { filterNullAndUndefined, loadDataConverter } from '@temporalio/internal-non-workflow
|
|
3
|
-
import { Replace } from '@temporalio/
|
|
2
|
+
import { filterNullAndUndefined, loadDataConverter } from '@temporalio/common/lib/internal-non-workflow';
|
|
3
|
+
import { Replace } from '@temporalio/common/lib/type-helpers';
|
|
4
4
|
import { temporal } from '@temporalio/proto';
|
|
5
5
|
import os from 'os';
|
|
6
6
|
import { AsyncCompletionClient } from './async-completion-client';
|
package/src/connection.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as grpc from '@grpc/grpc-js';
|
|
2
|
-
import { filterNullAndUndefined, normalizeTlsConfig, TLSConfig } from '@temporalio/internal-non-workflow
|
|
2
|
+
import { filterNullAndUndefined, normalizeTlsConfig, TLSConfig } from '@temporalio/common/lib/internal-non-workflow';
|
|
3
3
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
4
4
|
import type { RPCImpl } from 'protobufjs';
|
|
5
5
|
import { isServerErrorResponse, ServiceError } from './errors';
|
package/src/grpc-retry.ts
CHANGED
|
@@ -1,37 +1,102 @@
|
|
|
1
|
-
import {
|
|
2
|
-
InterceptingCall,
|
|
3
|
-
Interceptor,
|
|
4
|
-
ListenerBuilder,
|
|
5
|
-
Metadata,
|
|
6
|
-
RequesterBuilder,
|
|
7
|
-
StatusObject,
|
|
8
|
-
} from '@grpc/grpc-js';
|
|
1
|
+
import { InterceptingCall, Interceptor, ListenerBuilder, RequesterBuilder, StatusObject } from '@grpc/grpc-js';
|
|
9
2
|
import * as grpc from '@grpc/grpc-js';
|
|
10
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
11
7
|
export interface GrpcRetryOptions {
|
|
12
|
-
/** Maximum number of allowed retries. Defaults to 10. */
|
|
13
|
-
maxRetries: number;
|
|
14
|
-
|
|
15
8
|
/**
|
|
16
|
-
* A function which accepts the current retry attempt (starts at
|
|
9
|
+
* A function which accepts the current retry attempt (starts at 1) and returns the millisecond
|
|
17
10
|
* delay that should be applied before the next retry.
|
|
18
11
|
*/
|
|
19
|
-
delayFunction: (attempt: number) => number;
|
|
12
|
+
delayFunction: (attempt: number, status: StatusObject) => number;
|
|
20
13
|
|
|
21
14
|
/**
|
|
22
15
|
* A function which accepts a failed status object and returns true if the call should be retried
|
|
23
16
|
*/
|
|
24
|
-
retryableDecider: (status: StatusObject) => boolean;
|
|
17
|
+
retryableDecider: (attempt: number, status: StatusObject) => boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Options for the backoff formula: `factor ^ attempt * initialIntervalMs(status) * jitter(maxJitter)`
|
|
22
|
+
*
|
|
23
|
+
* @experimental
|
|
24
|
+
*/
|
|
25
|
+
export interface BackoffOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Exponential backoff factor
|
|
28
|
+
*
|
|
29
|
+
* @default 2
|
|
30
|
+
*/
|
|
31
|
+
factor: number;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Maximum number of attempts
|
|
35
|
+
*
|
|
36
|
+
* @default 10
|
|
37
|
+
*/
|
|
38
|
+
maxAttempts: number;
|
|
39
|
+
/**
|
|
40
|
+
* Maximum amount of jitter to apply
|
|
41
|
+
*
|
|
42
|
+
* @default 0.1
|
|
43
|
+
*/
|
|
44
|
+
maxJitter: number;
|
|
45
|
+
/**
|
|
46
|
+
* Function that returns the "initial" backoff interval based on the returned status.
|
|
47
|
+
*
|
|
48
|
+
* The default is 1 second for RESOURCE_EXHAUSTED errors and 20 millis for other retryable errors.
|
|
49
|
+
*/
|
|
50
|
+
initialIntervalMs(status: StatusObject): number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Function that returns the "maximum" backoff interval based on the returned status.
|
|
54
|
+
*
|
|
55
|
+
* The default is 10 seconds regardless of the status.
|
|
56
|
+
*/
|
|
57
|
+
maxIntervalMs(status: StatusObject): number;
|
|
25
58
|
}
|
|
26
59
|
|
|
27
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Add defaults as documented in {@link BackoffOptions}
|
|
62
|
+
*/
|
|
63
|
+
function withDefaultBackoffOptions({
|
|
64
|
+
maxAttempts,
|
|
65
|
+
factor,
|
|
66
|
+
maxJitter,
|
|
67
|
+
initialIntervalMs,
|
|
68
|
+
}: Partial<BackoffOptions>): BackoffOptions {
|
|
28
69
|
return {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
70
|
+
maxAttempts: maxAttempts ?? 10,
|
|
71
|
+
factor: factor ?? 2,
|
|
72
|
+
maxJitter: maxJitter ?? 0.1,
|
|
73
|
+
initialIntervalMs: initialIntervalMs ?? defaultInitialIntervalMs,
|
|
74
|
+
maxIntervalMs() {
|
|
75
|
+
return 10_000;
|
|
76
|
+
},
|
|
32
77
|
};
|
|
33
78
|
}
|
|
34
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Generates the default retry behavior based on given backoff options
|
|
82
|
+
*
|
|
83
|
+
* @experimental
|
|
84
|
+
*/
|
|
85
|
+
export function defaultGrpcRetryOptions(options: Partial<BackoffOptions> = {}): GrpcRetryOptions {
|
|
86
|
+
const { maxAttempts, factor, maxJitter, initialIntervalMs, maxIntervalMs } = withDefaultBackoffOptions(options);
|
|
87
|
+
return {
|
|
88
|
+
delayFunction(attempt, status) {
|
|
89
|
+
return Math.min(maxIntervalMs(status), factor ** attempt * initialIntervalMs(status)) * jitter(maxJitter);
|
|
90
|
+
},
|
|
91
|
+
retryableDecider(attempt, status) {
|
|
92
|
+
return attempt < maxAttempts && isRetryableError(status);
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Set of retryable gRPC status codes
|
|
99
|
+
*/
|
|
35
100
|
const retryableCodes = new Set([
|
|
36
101
|
grpc.status.UNKNOWN,
|
|
37
102
|
grpc.status.RESOURCE_EXHAUSTED,
|
|
@@ -45,69 +110,77 @@ export function isRetryableError(status: StatusObject): boolean {
|
|
|
45
110
|
return retryableCodes.has(status.code);
|
|
46
111
|
}
|
|
47
112
|
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Calculates random amount of jitter between 0 and `max`
|
|
115
|
+
*/
|
|
116
|
+
function jitter(max: number) {
|
|
117
|
+
return 1 - max + Math.random() * max * 2;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Default implementation - backs off more on RESOURCE_EXHAUSTED errors
|
|
122
|
+
*/
|
|
123
|
+
function defaultInitialIntervalMs({ code }: StatusObject) {
|
|
124
|
+
// Backoff more on RESOURCE_EXHAUSTED
|
|
125
|
+
if (code === grpc.status.RESOURCE_EXHAUSTED) {
|
|
126
|
+
return 1000;
|
|
127
|
+
}
|
|
128
|
+
return 20;
|
|
51
129
|
}
|
|
52
130
|
|
|
53
131
|
/**
|
|
54
132
|
* Returns a GRPC interceptor that will perform automatic retries for some types of failed calls
|
|
55
133
|
*
|
|
56
134
|
* @param retryOptions Options for the retry interceptor
|
|
135
|
+
*
|
|
136
|
+
* @experimental
|
|
57
137
|
*/
|
|
58
138
|
export function makeGrpcRetryInterceptor(retryOptions: GrpcRetryOptions): Interceptor {
|
|
59
139
|
return (options, nextCall) => {
|
|
60
|
-
let savedMetadata: Metadata;
|
|
61
140
|
let savedSendMessage: any;
|
|
62
141
|
let savedReceiveMessage: any;
|
|
63
|
-
let savedMessageNext: any;
|
|
142
|
+
let savedMessageNext: (message: any) => void;
|
|
143
|
+
|
|
64
144
|
const requester = new RequesterBuilder()
|
|
65
145
|
.withStart(function (metadata, _listener, next) {
|
|
66
|
-
|
|
67
|
-
|
|
146
|
+
// First attempt
|
|
147
|
+
let attempt = 1;
|
|
148
|
+
|
|
149
|
+
const listener = new ListenerBuilder()
|
|
68
150
|
.withOnReceiveMessage((message, next) => {
|
|
69
151
|
savedReceiveMessage = message;
|
|
70
152
|
savedMessageNext = next;
|
|
71
153
|
})
|
|
72
154
|
.withOnReceiveStatus((status, next) => {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
onReceiveMessage: (message) => {
|
|
155
|
+
const retry = () => {
|
|
156
|
+
attempt++;
|
|
157
|
+
const call = nextCall(options);
|
|
158
|
+
call.start(metadata, {
|
|
159
|
+
onReceiveMessage(message) {
|
|
79
160
|
savedReceiveMessage = message;
|
|
80
161
|
},
|
|
81
|
-
onReceiveStatus
|
|
82
|
-
if (retryOptions.retryableDecider(status)) {
|
|
83
|
-
if (retries <= retryOptions.maxRetries) {
|
|
84
|
-
setTimeout(() => retry(message, metadata), retryOptions.delayFunction(retries));
|
|
85
|
-
} else {
|
|
86
|
-
savedMessageNext(savedReceiveMessage);
|
|
87
|
-
next(status);
|
|
88
|
-
}
|
|
89
|
-
} else {
|
|
90
|
-
savedMessageNext(savedReceiveMessage);
|
|
91
|
-
// TODO: For reasons that are completely unclear to me, if you pass a handcrafted
|
|
92
|
-
// status object here, node will magically just exit at the end of this line.
|
|
93
|
-
// No warning, no nothing. Here be dragons.
|
|
94
|
-
next(status);
|
|
95
|
-
}
|
|
96
|
-
},
|
|
162
|
+
onReceiveStatus,
|
|
97
163
|
});
|
|
98
|
-
|
|
99
|
-
|
|
164
|
+
call.sendMessage(savedSendMessage);
|
|
165
|
+
call.halfClose();
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
const onReceiveStatus = (status: StatusObject) => {
|
|
169
|
+
if (retryOptions.retryableDecider(attempt, status)) {
|
|
170
|
+
setTimeout(retry, retryOptions.delayFunction(attempt, status));
|
|
171
|
+
} else {
|
|
172
|
+
savedMessageNext(savedReceiveMessage);
|
|
173
|
+
// TODO: For reasons that are completely unclear to me, if you pass a handcrafted
|
|
174
|
+
// status object here, node will magically just exit at the end of this line.
|
|
175
|
+
// No warning, no nothing. Here be dragons.
|
|
176
|
+
next(status);
|
|
177
|
+
}
|
|
100
178
|
};
|
|
101
179
|
|
|
102
|
-
|
|
103
|
-
setTimeout(() => retry(savedSendMessage, savedMetadata), backOffAmount(retries));
|
|
104
|
-
} else {
|
|
105
|
-
savedMessageNext(savedReceiveMessage);
|
|
106
|
-
next(status);
|
|
107
|
-
}
|
|
180
|
+
onReceiveStatus(status);
|
|
108
181
|
})
|
|
109
182
|
.build();
|
|
110
|
-
next(metadata,
|
|
183
|
+
next(metadata, listener);
|
|
111
184
|
})
|
|
112
185
|
.withSendMessage((message, next) => {
|
|
113
186
|
savedSendMessage = message;
|