@hotmeshio/hotmesh 0.0.54 → 0.0.55
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
CHANGED
|
@@ -19,9 +19,6 @@ HotMesh inverts the relationship to Redis: those functions that once used Redis
|
|
|
19
19
|
|
|
20
20
|
HotMesh creates an *ad hoc*, Redis-backed network of functions and organizes them into a unified service mesh. *Any service with access to Redis can join in the network, bypassing the legacy clutter.*
|
|
21
21
|
|
|
22
|
-
<img src="./docs/img/hotmesh_emergent_properties.png" alt="HotMesh elevates Redis to a Service Mesh, Message Router, Integration Bus, and Business Process Engine." style="max-width:100%;width:600px;">
|
|
23
|
-
|
|
24
|
-
|
|
25
22
|
## Design
|
|
26
23
|
HotMesh uses your existing Redis installation. If you already have an instance available, you have all the infrastructure you'll ever need.
|
|
27
24
|
|
package/build/package.json
CHANGED
|
@@ -117,7 +117,7 @@ class WorkflowService {
|
|
|
117
117
|
const isStartChild = options.await === false;
|
|
118
118
|
const prefix = isStartChild ? 'start' : 'child';
|
|
119
119
|
const [didRun, execIndex, result] = await WorkflowService.didRun(prefix);
|
|
120
|
-
const context =
|
|
120
|
+
const context = WorkflowService.getContext();
|
|
121
121
|
const { canRetry, interruptionRegistry } = context;
|
|
122
122
|
if (didRun) {
|
|
123
123
|
if (result?.$error && (!result.$error.is_stream_error || (result.$error.is_stream_error && !canRetry))) {
|
|
@@ -145,7 +145,7 @@ class WorkflowService {
|
|
|
145
145
|
return result.data;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
const interruptionMessage =
|
|
148
|
+
const interruptionMessage = WorkflowService.getChildInterruptPayload(context, options, execIndex);
|
|
149
149
|
//push the packaged inputs to the registry
|
|
150
150
|
interruptionRegistry.push({
|
|
151
151
|
code: enums_1.HMSH_CODE_DURABLE_CHILD,
|
|
@@ -202,7 +202,7 @@ class WorkflowService {
|
|
|
202
202
|
* const childJobId = await Durable.workflow.startChild({ ...options });
|
|
203
203
|
*/
|
|
204
204
|
static async startChild(options) {
|
|
205
|
-
return
|
|
205
|
+
return WorkflowService.execChild({ ...options, await: false });
|
|
206
206
|
}
|
|
207
207
|
/**
|
|
208
208
|
* Wraps activities in a proxy that durably runs/re-runs them to completion.
|
package/package.json
CHANGED
|
@@ -163,7 +163,7 @@ export class WorkflowService {
|
|
|
163
163
|
const isStartChild = options.await === false;
|
|
164
164
|
const prefix = isStartChild ? 'start' : 'child';
|
|
165
165
|
const [didRun, execIndex, result]: [boolean, number, ChildResponseType<T>] = await WorkflowService.didRun(prefix);
|
|
166
|
-
const context =
|
|
166
|
+
const context = WorkflowService.getContext();
|
|
167
167
|
const { canRetry, interruptionRegistry } = context;
|
|
168
168
|
|
|
169
169
|
if (didRun) {
|
|
@@ -188,7 +188,7 @@ export class WorkflowService {
|
|
|
188
188
|
return result.data as T;
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
const interruptionMessage =
|
|
191
|
+
const interruptionMessage = WorkflowService.getChildInterruptPayload(context, options, execIndex);
|
|
192
192
|
//push the packaged inputs to the registry
|
|
193
193
|
interruptionRegistry.push({
|
|
194
194
|
code: HMSH_CODE_DURABLE_CHILD,
|
|
@@ -244,7 +244,7 @@ export class WorkflowService {
|
|
|
244
244
|
* const childJobId = await Durable.workflow.startChild({ ...options });
|
|
245
245
|
*/
|
|
246
246
|
static async startChild(options: WorkflowOptions): Promise<string> {
|
|
247
|
-
return
|
|
247
|
+
return WorkflowService.execChild({ ...options, await: false });
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
/**
|