@effect/cluster 0.52.11 → 0.53.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/dist/cjs/ClusterWorkflowEngine.js +99 -105
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +58 -2
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/internal/entityManager.js +55 -24
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts +15 -22
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +18 -4
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +100 -106
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +54 -0
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/internal/entityManager.js +56 -25
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +4 -4
- package/src/ClusterWorkflowEngine.ts +35 -29
- package/src/Entity.ts +67 -1
- package/src/internal/entityManager.ts +105 -46
|
@@ -7,13 +7,14 @@ import { DurableDeferred } from "@effect/workflow";
|
|
|
7
7
|
import * as Activity from "@effect/workflow/Activity";
|
|
8
8
|
import * as DurableClock from "@effect/workflow/DurableClock";
|
|
9
9
|
import * as Workflow from "@effect/workflow/Workflow";
|
|
10
|
-
import { WorkflowEngine, WorkflowInstance } from "@effect/workflow/WorkflowEngine";
|
|
10
|
+
import { makeUnsafe, WorkflowEngine, WorkflowInstance } from "@effect/workflow/WorkflowEngine";
|
|
11
11
|
import * as Arr from "effect/Array";
|
|
12
12
|
import * as Cause from "effect/Cause";
|
|
13
13
|
import * as Context from "effect/Context";
|
|
14
14
|
import * as DateTime from "effect/DateTime";
|
|
15
15
|
import * as Duration from "effect/Duration";
|
|
16
16
|
import * as Effect from "effect/Effect";
|
|
17
|
+
import * as Exit from "effect/Exit";
|
|
17
18
|
import * as Fiber from "effect/Fiber";
|
|
18
19
|
import * as FiberId from "effect/FiberId";
|
|
19
20
|
import * as Layer from "effect/Layer";
|
|
@@ -30,6 +31,7 @@ import { EntityAddress } from "./EntityAddress.js";
|
|
|
30
31
|
import { EntityId } from "./EntityId.js";
|
|
31
32
|
import { EntityType } from "./EntityType.js";
|
|
32
33
|
import { MessageStorage } from "./MessageStorage.js";
|
|
34
|
+
import * as Reply from "./Reply.js";
|
|
33
35
|
import * as Sharding from "./Sharding.js";
|
|
34
36
|
import * as Snowflake from "./Snowflake.js";
|
|
35
37
|
/**
|
|
@@ -161,92 +163,87 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
161
163
|
if (Option.isNone(reply)) return;
|
|
162
164
|
yield* sharding.reset(requestId.value);
|
|
163
165
|
}, Effect.scoped);
|
|
164
|
-
|
|
165
|
-
register(workflow, execute) {
|
|
166
|
-
|
|
167
|
-
const
|
|
168
|
-
return
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
166
|
+
const engine = makeUnsafe({
|
|
167
|
+
register: (workflow, execute) => Effect.suspend(() => sharding.registerEntity(ensureEntity(workflow), Effect.gen(function* () {
|
|
168
|
+
const address = yield* Entity.CurrentAddress;
|
|
169
|
+
const executionId = address.entityId;
|
|
170
|
+
return {
|
|
171
|
+
run: request => {
|
|
172
|
+
const instance = WorkflowInstance.initial(workflow, executionId);
|
|
173
|
+
const payload = request.payload;
|
|
174
|
+
let parent;
|
|
175
|
+
if (payload[payloadParentKey]) {
|
|
176
|
+
parent = payload[payloadParentKey];
|
|
177
|
+
}
|
|
178
|
+
return execute(workflow.payloadSchema.make(payload), executionId).pipe(Effect.onExit(exit => {
|
|
179
|
+
const suspendOnFailure = Context.get(workflow.annotations, Workflow.SuspendOnFailure);
|
|
180
|
+
if (!instance.suspended && !(suspendOnFailure && exit._tag === "Failure")) {
|
|
181
|
+
return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void;
|
|
178
182
|
}
|
|
179
|
-
return
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void;
|
|
183
|
-
}
|
|
184
|
-
return engine.deferredResult(InterruptSignal).pipe(Effect.flatMap(maybeResult => {
|
|
185
|
-
if (Option.isNone(maybeResult)) {
|
|
186
|
-
return Effect.void;
|
|
187
|
-
}
|
|
188
|
-
instance.suspended = false;
|
|
189
|
-
instance.interrupted = true;
|
|
190
|
-
return Effect.zipRight(Effect.ignore(clearClock({
|
|
191
|
-
workflow,
|
|
192
|
-
executionId
|
|
193
|
-
})), Effect.withFiberRuntime(fiber => Effect.interruptible(Fiber.interrupt(fiber))));
|
|
194
|
-
}), Effect.orDie);
|
|
195
|
-
}), Workflow.intoResult, Effect.provideService(WorkflowInstance, instance));
|
|
196
|
-
},
|
|
197
|
-
activity(request) {
|
|
198
|
-
const activityId = `${executionId}/${request.payload.name}`;
|
|
199
|
-
const instance = WorkflowInstance.initial(workflow, executionId);
|
|
200
|
-
interruptedActivities.delete(activityId);
|
|
201
|
-
return Effect.gen(function* () {
|
|
202
|
-
let entry = activities.get(activityId);
|
|
203
|
-
while (!entry) {
|
|
204
|
-
const latch = Effect.unsafeMakeLatch();
|
|
205
|
-
activityLatches.set(activityId, latch);
|
|
206
|
-
yield* latch.await;
|
|
207
|
-
entry = activities.get(activityId);
|
|
183
|
+
return engine.deferredResult(InterruptSignal).pipe(Effect.flatMap(maybeExit => {
|
|
184
|
+
if (maybeExit === undefined) {
|
|
185
|
+
return Effect.void;
|
|
208
186
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return
|
|
239
|
-
}),
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
187
|
+
instance.suspended = false;
|
|
188
|
+
instance.interrupted = true;
|
|
189
|
+
return Effect.zipRight(Effect.ignore(clearClock({
|
|
190
|
+
workflow,
|
|
191
|
+
executionId
|
|
192
|
+
})), Effect.withFiberRuntime(fiber => Effect.interruptible(Fiber.interrupt(fiber))));
|
|
193
|
+
}), Effect.orDie);
|
|
194
|
+
}), Workflow.intoResult, Effect.provideService(WorkflowInstance, instance));
|
|
195
|
+
},
|
|
196
|
+
activity(request) {
|
|
197
|
+
const activityId = `${executionId}/${request.payload.name}`;
|
|
198
|
+
const instance = WorkflowInstance.initial(workflow, executionId);
|
|
199
|
+
interruptedActivities.delete(activityId);
|
|
200
|
+
return Effect.gen(function* () {
|
|
201
|
+
let entry = activities.get(activityId);
|
|
202
|
+
while (!entry) {
|
|
203
|
+
const latch = Effect.unsafeMakeLatch();
|
|
204
|
+
activityLatches.set(activityId, latch);
|
|
205
|
+
yield* latch.await;
|
|
206
|
+
entry = activities.get(activityId);
|
|
207
|
+
}
|
|
208
|
+
const contextMap = new Map(entry.runtime.context.unsafeMap);
|
|
209
|
+
contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
|
|
210
|
+
contextMap.set(WorkflowInstance.key, instance);
|
|
211
|
+
const runtime = Runtime.make({
|
|
212
|
+
context: Context.unsafeMake(contextMap),
|
|
213
|
+
fiberRefs: entry.runtime.fiberRefs,
|
|
214
|
+
runtimeFlags: Runtime.defaultRuntimeFlags
|
|
215
|
+
});
|
|
216
|
+
return yield* entry.activity.executeEncoded.pipe(Effect.provide(runtime));
|
|
217
|
+
}).pipe(Workflow.intoResult, Effect.catchAllCause(cause => {
|
|
218
|
+
const interruptors = Cause.interruptors(cause);
|
|
219
|
+
// we only want to store interrupts as suspends when the
|
|
220
|
+
// client requested it
|
|
221
|
+
const ids = Array.from(interruptors, id => Array.from(FiberId.ids(id))).flat();
|
|
222
|
+
const suspend = ids.includes(RpcServer.fiberIdClientInterrupt.id);
|
|
223
|
+
if (suspend) {
|
|
224
|
+
interruptedActivities.add(activityId);
|
|
225
|
+
return Effect.succeed(new Workflow.Suspended());
|
|
226
|
+
}
|
|
227
|
+
return Effect.failCause(cause);
|
|
228
|
+
}), Effect.provideService(WorkflowInstance, instance), Effect.provideService(Activity.CurrentAttempt, request.payload.attempt), Effect.ensuring(Effect.sync(() => {
|
|
229
|
+
activities.delete(activityId);
|
|
230
|
+
})), Rpc.wrap({
|
|
231
|
+
fork: true,
|
|
232
|
+
uninterruptible: true
|
|
233
|
+
}));
|
|
234
|
+
},
|
|
235
|
+
deferred: Effect.fnUntraced(function* (request) {
|
|
236
|
+
yield* ensureSuccess(resume(workflow, executionId));
|
|
237
|
+
return request.payload.exit;
|
|
238
|
+
}),
|
|
239
|
+
resume: () => ensureSuccess(resume(workflow, executionId))
|
|
240
|
+
};
|
|
241
|
+
}))),
|
|
242
|
+
execute: (workflow, {
|
|
245
243
|
discard,
|
|
246
244
|
executionId,
|
|
247
245
|
parent,
|
|
248
|
-
payload
|
|
249
|
-
workflow
|
|
246
|
+
payload
|
|
250
247
|
}) => {
|
|
251
248
|
ensureEntity(workflow);
|
|
252
249
|
return RcMap.get(clients, workflow.name).pipe(Effect.flatMap(make => make(executionId).run(parent ? {
|
|
@@ -259,10 +256,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
259
256
|
discard
|
|
260
257
|
})), Effect.orDie, Effect.scoped);
|
|
261
258
|
},
|
|
262
|
-
poll: Effect.fnUntraced(function* ({
|
|
263
|
-
executionId,
|
|
264
|
-
workflow
|
|
265
|
-
}) {
|
|
259
|
+
poll: Effect.fnUntraced(function* (workflow, executionId) {
|
|
266
260
|
const entity = ensureEntity(workflow);
|
|
267
261
|
const exitSchema = Rpc.exitSchema(entity.protocol.requests.get("run"));
|
|
268
262
|
const oreply = yield* requestReply({
|
|
@@ -289,14 +283,11 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
289
283
|
if (Option.isSome(nonSuspendedReply)) {
|
|
290
284
|
return;
|
|
291
285
|
}
|
|
292
|
-
yield*
|
|
286
|
+
yield* engine.deferredDone(InterruptSignal, {
|
|
293
287
|
workflowName: workflow.name,
|
|
294
288
|
executionId,
|
|
295
289
|
deferredName: InterruptSignal.name,
|
|
296
|
-
exit:
|
|
297
|
-
_tag: "Success",
|
|
298
|
-
value: void 0
|
|
299
|
-
}
|
|
290
|
+
exit: Exit.void
|
|
300
291
|
});
|
|
301
292
|
}, Effect.retry({
|
|
302
293
|
while: e => e._tag === "PersistenceError",
|
|
@@ -304,10 +295,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
304
295
|
schedule: Schedule.exponential(250)
|
|
305
296
|
}), Effect.orDie),
|
|
306
297
|
resume: (workflow, executionId) => ensureSuccess(resume(workflow, executionId)),
|
|
307
|
-
activityExecute: Effect.fnUntraced(function* ({
|
|
308
|
-
activity,
|
|
309
|
-
attempt
|
|
310
|
-
}) {
|
|
298
|
+
activityExecute: Effect.fnUntraced(function* (activity, attempt) {
|
|
311
299
|
const runtime = yield* Effect.runtime();
|
|
312
300
|
const context = runtime.context;
|
|
313
301
|
const instance = Context.get(context, WorkflowInstance);
|
|
@@ -345,13 +333,20 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
345
333
|
return result;
|
|
346
334
|
}
|
|
347
335
|
}, Effect.scoped),
|
|
348
|
-
deferredResult: deferred => WorkflowInstance.pipe(Effect.
|
|
336
|
+
deferredResult: deferred => WorkflowInstance.pipe(Effect.flatMap(instance => requestReply({
|
|
349
337
|
workflow: instance.workflow,
|
|
350
338
|
entityType: `Workflow/${instance.workflow.name}`,
|
|
351
339
|
executionId: instance.executionId,
|
|
352
340
|
tag: "deferred",
|
|
353
341
|
id: deferred.name
|
|
354
|
-
})), Effect.map(
|
|
342
|
+
})), Effect.map(oreply => {
|
|
343
|
+
if (Option.isNone(oreply)) {
|
|
344
|
+
return undefined;
|
|
345
|
+
}
|
|
346
|
+
const reply = oreply.value;
|
|
347
|
+
const decoded = decodeDeferredWithExit(reply);
|
|
348
|
+
return decoded.exit._tag === "Success" ? decoded.exit.value : decoded.exit;
|
|
349
|
+
}), Effect.retry({
|
|
355
350
|
while: e => e._tag === "PersistenceError",
|
|
356
351
|
times: 3,
|
|
357
352
|
schedule: Schedule.exponential(250)
|
|
@@ -370,17 +365,18 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
370
365
|
discard: true
|
|
371
366
|
}));
|
|
372
367
|
}, Effect.scoped),
|
|
373
|
-
scheduleClock(options) {
|
|
368
|
+
scheduleClock(workflow, options) {
|
|
374
369
|
const client = clockClient(options.executionId);
|
|
375
370
|
return DateTime.now.pipe(Effect.flatMap(now => client.run({
|
|
376
371
|
name: options.clock.name,
|
|
377
|
-
workflowName:
|
|
372
|
+
workflowName: workflow.name,
|
|
378
373
|
wakeUp: DateTime.addDuration(now, options.clock.duration)
|
|
379
374
|
}, {
|
|
380
375
|
discard: true
|
|
381
376
|
})), Effect.orDie);
|
|
382
377
|
}
|
|
383
378
|
});
|
|
379
|
+
return engine;
|
|
384
380
|
});
|
|
385
381
|
const retryPolicy = /*#__PURE__*/Schedule.exponential(200, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
|
|
386
382
|
const ensureSuccess = effect => effect.pipe(Effect.sandbox, Effect.retry(retryPolicy), Effect.orDie);
|
|
@@ -413,11 +409,11 @@ const makeWorkflowEntity = workflow => Entity.make(`Workflow/${workflow.name}`,
|
|
|
413
409
|
error: workflow.errorSchema
|
|
414
410
|
})
|
|
415
411
|
}).annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true), DeferredRpc, ResumeRpc, ActivityRpc]).annotateContext(workflow.annotations);
|
|
416
|
-
const ExitUnknown = /*#__PURE__*/Schema.
|
|
412
|
+
const ExitUnknown = /*#__PURE__*/Schema.Exit({
|
|
417
413
|
success: Schema.Unknown,
|
|
418
414
|
failure: Schema.Unknown,
|
|
419
415
|
defect: Schema.Defect
|
|
420
|
-
})
|
|
416
|
+
});
|
|
421
417
|
const DeferredRpc = /*#__PURE__*/Rpc.make("deferred", {
|
|
422
418
|
payload: {
|
|
423
419
|
name: Schema.String,
|
|
@@ -428,6 +424,7 @@ const DeferredRpc = /*#__PURE__*/Rpc.make("deferred", {
|
|
|
428
424
|
}) => name,
|
|
429
425
|
success: ExitUnknown
|
|
430
426
|
}).annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true);
|
|
427
|
+
const decodeDeferredWithExit = /*#__PURE__*/Schema.decodeSync(/*#__PURE__*/Reply.WithExit.schema(DeferredRpc));
|
|
431
428
|
const ResumeRpc = /*#__PURE__*/Rpc.make("resume", {
|
|
432
429
|
payload: {},
|
|
433
430
|
primaryKey: () => ""
|
|
@@ -459,14 +456,11 @@ const ClockEntityLayer = /*#__PURE__*/ClockEntity.toLayer(/*#__PURE__*/Effect.ge
|
|
|
459
456
|
name: request.payload.name,
|
|
460
457
|
duration: Duration.zero
|
|
461
458
|
}).deferred;
|
|
462
|
-
return ensureSuccess(engine.deferredDone({
|
|
459
|
+
return ensureSuccess(engine.deferredDone(deferred, {
|
|
463
460
|
workflowName: request.payload.workflowName,
|
|
464
461
|
executionId,
|
|
465
462
|
deferredName: deferred.name,
|
|
466
|
-
exit:
|
|
467
|
-
_tag: "Success",
|
|
468
|
-
value: void 0
|
|
469
|
-
}
|
|
463
|
+
exit: Exit.void
|
|
470
464
|
}));
|
|
471
465
|
}
|
|
472
466
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","RpcServer","DurableDeferred","Activity","DurableClock","Workflow","WorkflowEngine","WorkflowInstance","Arr","Cause","Context","DateTime","Duration","Effect","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","EntityAddress","EntityId","EntityType","MessageStorage","Sharding","Snowflake","make","gen","sharding","storage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","get","name","makeWorkflowEntity","set","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","address","entityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","clearClock","clockAddress","type","clearAddress","resume","maybeReply","maybeSuspended","exit","pollStorage","sendResumeParent","discard","scoped","of","register","execute","engine","suspend","registerEntity","CurrentAddress","run","request","instance","initial","payload","parent","payloadParentKey","payloadSchema","onExit","suspendOnFailure","SuspendOnFailure","suspended","ensureSuccess","void","deferredResult","InterruptSignal","flatMap","maybeResult","interrupted","zipRight","ignore","withFiberRuntime","fiber","interruptible","interrupt","intoResult","provideService","activityId","delete","entry","latch","unsafeMakeLatch","await","contextMap","runtime","context","unsafeMap","CurrentAttempt","key","unsafeMake","fiberRefs","runtimeFlags","defaultRuntimeFlags","executeEncoded","provide","catchAllCause","cause","interruptors","ids","Array","from","flat","includes","fiberIdClientInterrupt","add","succeed","Suspended","failCause","ensuring","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","undefined","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","e","activityExecute","annotateCurrentSpan","has","release","result","tap","scheduleClock","now","clock","wakeUp","addDuration","duration","retryPolicy","union","spaced","effect","sandbox","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","annotate","Persisted","Uninterruptible","fields","optional","Struct","successSchema","errorSchema","DeferredRpc","ResumeRpc","annotateContext","ExitUnknown","encodedSchema","Exit","failure","defect","Defect","ClockPayload","Class","DateTimeUtcFromNumber","symbol","ClockEntityLayer","toLayer","zero","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","RpcServer","DurableDeferred","Activity","DurableClock","Workflow","makeUnsafe","WorkflowEngine","WorkflowInstance","Arr","Cause","Context","DateTime","Duration","Effect","Exit","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","EntityAddress","EntityId","EntityType","MessageStorage","Reply","Sharding","Snowflake","make","gen","sharding","storage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","get","name","makeWorkflowEntity","set","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","address","entityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","clearClock","clockAddress","type","clearAddress","resume","maybeReply","maybeSuspended","exit","pollStorage","sendResumeParent","discard","scoped","engine","register","execute","suspend","registerEntity","CurrentAddress","run","request","instance","initial","payload","parent","payloadParentKey","payloadSchema","onExit","suspendOnFailure","SuspendOnFailure","suspended","ensureSuccess","void","deferredResult","InterruptSignal","flatMap","maybeExit","undefined","interrupted","zipRight","ignore","withFiberRuntime","fiber","interruptible","interrupt","intoResult","provideService","activityId","delete","entry","latch","unsafeMakeLatch","await","contextMap","runtime","context","unsafeMap","CurrentAttempt","key","unsafeMake","fiberRefs","runtimeFlags","defaultRuntimeFlags","executeEncoded","provide","catchAllCause","cause","interruptors","ids","Array","from","flat","includes","fiberIdClientInterrupt","add","succeed","Suspended","failCause","ensuring","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","e","activityExecute","annotateCurrentSpan","has","release","result","decoded","decodeDeferredWithExit","scheduleClock","now","clock","wakeUp","addDuration","duration","retryPolicy","union","spaced","effect","sandbox","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","annotate","Persisted","Uninterruptible","fields","optional","Struct","successSchema","errorSchema","DeferredRpc","ResumeRpc","annotateContext","ExitUnknown","failure","defect","Defect","decodeSync","WithExit","schema","ClockPayload","Class","DateTimeUtcFromNumber","symbol","ClockEntityLayer","toLayer","zero","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Entity.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Headers from "@effect/platform/Headers";
|
|
5
|
+
import * as Rpc from "@effect/rpc/Rpc";
|
|
1
6
|
import * as RpcClient from "@effect/rpc/RpcClient";
|
|
2
7
|
import * as RpcGroup from "@effect/rpc/RpcGroup";
|
|
3
8
|
import * as RpcServer from "@effect/rpc/RpcServer";
|
|
@@ -15,11 +20,13 @@ import * as Option from "effect/Option";
|
|
|
15
20
|
import * as Predicate from "effect/Predicate";
|
|
16
21
|
import { Scope } from "effect/Scope";
|
|
17
22
|
import { ShardGroup } from "./ClusterSchema.js";
|
|
23
|
+
import * as ClusterSchema from "./ClusterSchema.js";
|
|
18
24
|
import { EntityAddress } from "./EntityAddress.js";
|
|
19
25
|
import { EntityType } from "./EntityType.js";
|
|
20
26
|
import * as Envelope from "./Envelope.js";
|
|
21
27
|
import { hashString } from "./internal/hash.js";
|
|
22
28
|
import { ResourceMap } from "./internal/resourceMap.js";
|
|
29
|
+
import * as Message from "./Message.js";
|
|
23
30
|
import { RunnerAddress } from "./RunnerAddress.js";
|
|
24
31
|
import * as ShardId from "./ShardId.js";
|
|
25
32
|
import { ShardingConfig } from "./ShardingConfig.js";
|
|
@@ -256,4 +263,51 @@ export const makeTestClient = /*#__PURE__*/Effect.fnUntraced(function* (entity,
|
|
|
256
263
|
}));
|
|
257
264
|
return entityId => map.get(entityId);
|
|
258
265
|
});
|
|
266
|
+
/**
|
|
267
|
+
* @since 1.0.0
|
|
268
|
+
* @category Keep alive
|
|
269
|
+
*/
|
|
270
|
+
export const keepAlive = /*#__PURE__*/Effect.fnUntraced(function* (enabled) {
|
|
271
|
+
const olatch = yield* Effect.serviceOption(KeepAliveLatch);
|
|
272
|
+
if (olatch._tag === "None") return;
|
|
273
|
+
if (!enabled) {
|
|
274
|
+
yield* olatch.value.open;
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
const sharding = yield* shardingTag;
|
|
278
|
+
const address = yield* CurrentAddress;
|
|
279
|
+
const requestId = yield* sharding.getSnowflake;
|
|
280
|
+
const span = yield* Effect.orDie(Effect.currentSpan);
|
|
281
|
+
yield* Effect.orDie(sharding.sendOutgoing(new Message.OutgoingRequest({
|
|
282
|
+
rpc: KeepAliveRpc,
|
|
283
|
+
context: Context.empty(),
|
|
284
|
+
envelope: Envelope.makeRequest({
|
|
285
|
+
requestId,
|
|
286
|
+
address,
|
|
287
|
+
tag: KeepAliveRpc._tag,
|
|
288
|
+
payload: void 0,
|
|
289
|
+
headers: Headers.empty,
|
|
290
|
+
traceId: span.traceId,
|
|
291
|
+
spanId: span.spanId,
|
|
292
|
+
sampled: span.sampled
|
|
293
|
+
}),
|
|
294
|
+
lastReceivedReply: Option.none(),
|
|
295
|
+
respond: () => Effect.void
|
|
296
|
+
}), true));
|
|
297
|
+
}, (effect, enabled) => Effect.withSpan(effect, "Entity/keepAlive", {
|
|
298
|
+
attributes: {
|
|
299
|
+
enabled
|
|
300
|
+
},
|
|
301
|
+
captureStackTrace: false
|
|
302
|
+
}));
|
|
303
|
+
/**
|
|
304
|
+
* @since 1.0.0
|
|
305
|
+
* @category Keep alive
|
|
306
|
+
*/
|
|
307
|
+
export const KeepAliveRpc = /*#__PURE__*/Rpc.make("Cluster/Entity/keepAlive").annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true);
|
|
308
|
+
/**
|
|
309
|
+
* @since 1.0.0
|
|
310
|
+
* @category Keep alive
|
|
311
|
+
*/
|
|
312
|
+
export class KeepAliveLatch extends /*#__PURE__*/Context.Tag("effect/cluster/Entity/KeepAliveLatch")() {}
|
|
259
313
|
//# sourceMappingURL=Entity.js.map
|
package/dist/esm/Entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["RpcClient","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","identity","Hash","Layer","Mailbox","Option","Predicate","Scope","ShardGroup","EntityAddress","EntityType","Envelope","hashString","ResourceMap","RunnerAddress","ShardId","ShardingConfig","Snowflake","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","getShardId","entityId","map","shardingTag","sharding","getShardGroup","client","pipe","flatMap","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","scopedDiscard","of","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","annotations","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","makeShardId","Math","abs","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","host","port","entityMap","contextWith","toHandlersContext","provide","add","omit","entityEntry","dieMessage","address","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Entity.js","names":["Headers","Rpc","RpcClient","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","identity","Hash","Layer","Mailbox","Option","Predicate","Scope","ShardGroup","ClusterSchema","EntityAddress","EntityType","Envelope","hashString","ResourceMap","Message","RunnerAddress","ShardId","ShardingConfig","Snowflake","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","getShardId","entityId","map","shardingTag","sharding","getShardGroup","client","pipe","flatMap","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","scopedDiscard","of","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","annotations","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","makeShardId","Math","abs","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","host","port","entityMap","contextWith","toHandlersContext","provide","add","omit","entityEntry","dieMessage","address","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none","keepAlive","enabled","olatch","serviceOption","KeepAliveLatch","open","getSnowflake","span","orDie","currentSpan","sendOutgoing","OutgoingRequest","KeepAliveRpc","empty","makeRequest","headers","traceId","spanId","sampled","lastReceivedReply","respond","effect","withSpan","attributes","captureStackTrace","Persisted","Uninterruptible"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|