@effect/cluster 0.52.1 → 0.52.3
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 +83 -89
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +1 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/Sharding.js +34 -29
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +2 -0
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Singleton.js +1 -1
- package/dist/cjs/Singleton.js.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts +3 -2
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +2 -2
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +12 -0
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +83 -89
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +1 -1
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/Sharding.js +34 -29
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +2 -0
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Singleton.js +1 -1
- package/dist/esm/Singleton.js.map +1 -1
- package/package.json +4 -4
- package/src/ClusterWorkflowEngine.ts +13 -18
- package/src/Entity.ts +1 -1
- package/src/Sharding.ts +50 -46
- package/src/ShardingConfig.ts +11 -0
- package/src/Singleton.ts +1 -1
|
@@ -161,88 +161,80 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
161
161
|
register(workflow, execute) {
|
|
162
162
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
163
163
|
const engine = this;
|
|
164
|
-
return Effect.suspend(() => {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
let parent;
|
|
179
|
-
if (payload[payloadParentKey]) {
|
|
180
|
-
parent = payload[payloadParentKey];
|
|
164
|
+
return Effect.suspend(() => sharding.registerEntity(ensureEntity(workflow), Effect.gen(function* () {
|
|
165
|
+
const address = yield* Entity.CurrentAddress;
|
|
166
|
+
const executionId = address.entityId;
|
|
167
|
+
return {
|
|
168
|
+
run: request => {
|
|
169
|
+
const instance = _WorkflowEngine.WorkflowInstance.initial(workflow, executionId);
|
|
170
|
+
const payload = request.payload;
|
|
171
|
+
let parent;
|
|
172
|
+
if (payload[payloadParentKey]) {
|
|
173
|
+
parent = payload[payloadParentKey];
|
|
174
|
+
}
|
|
175
|
+
return execute(workflow.payloadSchema.make(payload), executionId).pipe(Effect.ensuring(Effect.suspend(() => {
|
|
176
|
+
if (!instance.suspended) {
|
|
177
|
+
return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void;
|
|
181
178
|
}
|
|
182
|
-
return
|
|
183
|
-
if (
|
|
184
|
-
return
|
|
185
|
-
}
|
|
186
|
-
return engine.deferredResult(InterruptSignal).pipe(Effect.flatMap(maybeResult => {
|
|
187
|
-
if (Option.isNone(maybeResult)) {
|
|
188
|
-
return Effect.void;
|
|
189
|
-
}
|
|
190
|
-
instance.suspended = false;
|
|
191
|
-
instance.interrupted = true;
|
|
192
|
-
return Effect.zipRight(Effect.ignore(clearClock({
|
|
193
|
-
workflow,
|
|
194
|
-
executionId
|
|
195
|
-
})), Effect.withFiberRuntime(fiber => Effect.interruptible(Fiber.interrupt(fiber))));
|
|
196
|
-
}), Effect.orDie);
|
|
197
|
-
})), Workflow.intoResult, Effect.provideService(_WorkflowEngine.WorkflowInstance, instance));
|
|
198
|
-
},
|
|
199
|
-
activity(request) {
|
|
200
|
-
const activityId = `${executionId}/${request.payload.name}`;
|
|
201
|
-
const instance = _WorkflowEngine.WorkflowInstance.initial(workflow, executionId);
|
|
202
|
-
interruptedActivities.delete(activityId);
|
|
203
|
-
return Effect.gen(function* () {
|
|
204
|
-
let entry = activities.get(activityId);
|
|
205
|
-
while (!entry) {
|
|
206
|
-
const latch = Effect.unsafeMakeLatch();
|
|
207
|
-
activityLatches.set(activityId, latch);
|
|
208
|
-
yield* latch.await;
|
|
209
|
-
entry = activities.get(activityId);
|
|
210
|
-
}
|
|
211
|
-
const contextMap = new Map(entry.runtime.context.unsafeMap);
|
|
212
|
-
contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
|
|
213
|
-
contextMap.set(_WorkflowEngine.WorkflowInstance.key, instance);
|
|
214
|
-
const runtime = Runtime.make({
|
|
215
|
-
context: Context.unsafeMake(contextMap),
|
|
216
|
-
fiberRefs: entry.runtime.fiberRefs,
|
|
217
|
-
runtimeFlags: Runtime.defaultRuntimeFlags
|
|
218
|
-
});
|
|
219
|
-
return yield* entry.activity.executeEncoded.pipe(Effect.provide(runtime));
|
|
220
|
-
}).pipe(Workflow.intoResult, Effect.catchAllCause(cause => {
|
|
221
|
-
const interruptors = Cause.interruptors(cause);
|
|
222
|
-
// we only want to store interrupts as suspends when the
|
|
223
|
-
// client requested it
|
|
224
|
-
const ids = Array.from(interruptors, id => Array.from(FiberId.ids(id))).flat();
|
|
225
|
-
const suspend = ids.includes(RpcServer.fiberIdClientInterrupt.id);
|
|
226
|
-
if (suspend) {
|
|
227
|
-
interruptedActivities.add(activityId);
|
|
228
|
-
return Effect.succeed(new Workflow.Suspended());
|
|
179
|
+
return engine.deferredResult(InterruptSignal).pipe(Effect.flatMap(maybeResult => {
|
|
180
|
+
if (Option.isNone(maybeResult)) {
|
|
181
|
+
return Effect.void;
|
|
229
182
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}));
|
|
237
|
-
},
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
183
|
+
instance.suspended = false;
|
|
184
|
+
instance.interrupted = true;
|
|
185
|
+
return Effect.zipRight(Effect.ignore(clearClock({
|
|
186
|
+
workflow,
|
|
187
|
+
executionId
|
|
188
|
+
})), Effect.withFiberRuntime(fiber => Effect.interruptible(Fiber.interrupt(fiber))));
|
|
189
|
+
}), Effect.orDie);
|
|
190
|
+
})), Workflow.intoResult, Effect.provideService(_WorkflowEngine.WorkflowInstance, instance));
|
|
191
|
+
},
|
|
192
|
+
activity(request) {
|
|
193
|
+
const activityId = `${executionId}/${request.payload.name}`;
|
|
194
|
+
const instance = _WorkflowEngine.WorkflowInstance.initial(workflow, executionId);
|
|
195
|
+
interruptedActivities.delete(activityId);
|
|
196
|
+
return Effect.gen(function* () {
|
|
197
|
+
let entry = activities.get(activityId);
|
|
198
|
+
while (!entry) {
|
|
199
|
+
const latch = Effect.unsafeMakeLatch();
|
|
200
|
+
activityLatches.set(activityId, latch);
|
|
201
|
+
yield* latch.await;
|
|
202
|
+
entry = activities.get(activityId);
|
|
203
|
+
}
|
|
204
|
+
const contextMap = new Map(entry.runtime.context.unsafeMap);
|
|
205
|
+
contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
|
|
206
|
+
contextMap.set(_WorkflowEngine.WorkflowInstance.key, instance);
|
|
207
|
+
const runtime = Runtime.make({
|
|
208
|
+
context: Context.unsafeMake(contextMap),
|
|
209
|
+
fiberRefs: entry.runtime.fiberRefs,
|
|
210
|
+
runtimeFlags: Runtime.defaultRuntimeFlags
|
|
211
|
+
});
|
|
212
|
+
return yield* entry.activity.executeEncoded.pipe(Effect.provide(runtime));
|
|
213
|
+
}).pipe(Workflow.intoResult, Effect.catchAllCause(cause => {
|
|
214
|
+
const interruptors = Cause.interruptors(cause);
|
|
215
|
+
// we only want to store interrupts as suspends when the
|
|
216
|
+
// client requested it
|
|
217
|
+
const ids = Array.from(interruptors, id => Array.from(FiberId.ids(id))).flat();
|
|
218
|
+
const suspend = ids.includes(RpcServer.fiberIdClientInterrupt.id);
|
|
219
|
+
if (suspend) {
|
|
220
|
+
interruptedActivities.add(activityId);
|
|
221
|
+
return Effect.succeed(new Workflow.Suspended());
|
|
222
|
+
}
|
|
223
|
+
return Effect.failCause(cause);
|
|
224
|
+
}), Effect.provideService(_WorkflowEngine.WorkflowInstance, instance), Effect.provideService(Activity.CurrentAttempt, request.payload.attempt), Effect.ensuring(Effect.sync(() => {
|
|
225
|
+
activities.delete(activityId);
|
|
226
|
+
})), Rpc.wrap({
|
|
227
|
+
fork: true,
|
|
228
|
+
uninterruptible: true
|
|
229
|
+
}));
|
|
230
|
+
},
|
|
231
|
+
deferred: Effect.fnUntraced(function* (request) {
|
|
232
|
+
yield* ensureSuccess(resume(workflow, executionId));
|
|
233
|
+
return request.payload.exit;
|
|
234
|
+
}),
|
|
235
|
+
resume: () => ensureSuccess(resume(workflow, executionId))
|
|
236
|
+
};
|
|
237
|
+
})));
|
|
246
238
|
},
|
|
247
239
|
execute: ({
|
|
248
240
|
discard,
|
|
@@ -316,17 +308,19 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
316
308
|
const instance = Context.get(context, _WorkflowEngine.WorkflowInstance);
|
|
317
309
|
yield* Effect.annotateCurrentSpan("executionId", instance.executionId);
|
|
318
310
|
const activityId = `${instance.executionId}/${activity.name}`;
|
|
319
|
-
activities.set(activityId, {
|
|
320
|
-
activity,
|
|
321
|
-
runtime
|
|
322
|
-
});
|
|
323
|
-
const latch = activityLatches.get(activityId);
|
|
324
|
-
if (latch) {
|
|
325
|
-
yield* latch.release;
|
|
326
|
-
activityLatches.delete(activityId);
|
|
327
|
-
}
|
|
328
311
|
const client = (yield* RcMap.get(clientsPartial, instance.workflow.name))(instance.executionId);
|
|
329
312
|
while (true) {
|
|
313
|
+
if (!activities.has(activityId)) {
|
|
314
|
+
activities.set(activityId, {
|
|
315
|
+
activity,
|
|
316
|
+
runtime
|
|
317
|
+
});
|
|
318
|
+
const latch = activityLatches.get(activityId);
|
|
319
|
+
if (latch) {
|
|
320
|
+
yield* latch.release;
|
|
321
|
+
activityLatches.delete(activityId);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
330
324
|
const result = yield* Effect.orDie(client.activity({
|
|
331
325
|
name: activity.name,
|
|
332
326
|
attempt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","RpcServer","_workflow","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Cause","Context","DateTime","Duration","Effect","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","_MessageStorage","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","name","makeWorkflowEntity","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","EntityId","address","EntityAddress","entityType","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","WorkflowEngine","of","register","execute","engine","suspend","logWarning","annotateLogs","package","module","registerEntity","CurrentAddress","run","request","instance","WorkflowInstance","initial","payload","parent","payloadParentKey","payloadSchema","ensuring","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","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","undefined","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","activityExecute","annotateCurrentSpan","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","DurableDeferred","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","RpcServer","_workflow","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Cause","Context","DateTime","Duration","Effect","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","_MessageStorage","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","name","makeWorkflowEntity","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","EntityId","address","EntityAddress","entityType","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","WorkflowEngine","of","register","execute","engine","suspend","registerEntity","CurrentAddress","run","request","instance","WorkflowInstance","initial","payload","parent","payloadParentKey","payloadSchema","ensuring","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","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","undefined","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","activityExecute","annotateCurrentSpan","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","DurableDeferred","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/Entity.js
CHANGED
|
@@ -71,7 +71,7 @@ const Proto = {
|
|
|
71
71
|
return shardingTag.pipe(Effect.flatMap(sharding => sharding.makeClient(this)));
|
|
72
72
|
},
|
|
73
73
|
toLayer(build, options) {
|
|
74
|
-
return shardingTag.pipe(Effect.flatMap(sharding => sharding.registerEntity(this, Effect.isEffect(build) ? build : Effect.succeed(build), options)), Layer.
|
|
74
|
+
return shardingTag.pipe(Effect.flatMap(sharding => sharding.registerEntity(this, Effect.isEffect(build) ? build : Effect.succeed(build), options)), Layer.scopedDiscard);
|
|
75
75
|
},
|
|
76
76
|
of: _Function.identity,
|
|
77
77
|
toLayerMailbox(build, options) {
|
package/dist/cjs/Entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["RpcClient","_interopRequireWildcard","require","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","_Function","Hash","Layer","Mailbox","Option","Predicate","_Scope","_ClusterSchema","_EntityAddress","_EntityType","Envelope","_hash","_resourceMap","_RunnerAddress","ShardId","_ShardingConfig","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","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","effectDiscard","of","identity","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","annotations","ShardGroup","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","ShardingConfig","makeShardId","Math","abs","hashString","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","RunnerAddress","host","port","entityMap","contextWith","toHandlersContext","provide","add","omit","Scope","entityEntry","dieMessage","ResourceMap","address","EntityAddress","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":["RpcClient","_interopRequireWildcard","require","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","_Function","Hash","Layer","Mailbox","Option","Predicate","_Scope","_ClusterSchema","_EntityAddress","_EntityType","Envelope","_hash","_resourceMap","_RunnerAddress","ShardId","_ShardingConfig","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","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","identity","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","annotations","ShardGroup","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","ShardingConfig","makeShardId","Math","abs","hashString","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","RunnerAddress","host","port","entityMap","contextWith","toHandlersContext","provide","add","omit","Scope","entityEntry","dieMessage","ResourceMap","address","EntityAddress","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":";;;;;;AAIA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAGA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AAEA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,IAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,IAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,OAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAd,uBAAA,CAAAC,OAAA;AACA,IAAAc,SAAA,GAAAf,uBAAA,CAAAC,OAAA;AAEA,IAAAe,MAAA,GAAAf,OAAA;AAGA,IAAAgB,cAAA,GAAAhB,OAAA;AACA,IAAAiB,cAAA,GAAAjB,OAAA;AAEA,IAAAkB,WAAA,GAAAlB,OAAA;AACA,IAAAmB,QAAA,GAAApB,uBAAA,CAAAC,OAAA;AACA,IAAAoB,KAAA,GAAApB,OAAA;AACA,IAAAqB,YAAA,GAAArB,OAAA;AAEA,IAAAsB,cAAA,GAAAtB,OAAA;AACA,IAAAuB,OAAA,GAAAxB,uBAAA,CAAAC,OAAA;AAEA,IAAAwB,eAAA,GAAAxB,OAAA;AACA,IAAAyB,SAAA,GAAA1B,uBAAA,CAAAC,OAAA;AAA2C,SAAAD,wBAAA2B,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAA7B,uBAAA,YAAAA,CAAA2B,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AA6JzE;;;;AAIO,MAAMC,QAAQ,GAAIC,CAAU,IAAepC,SAAS,CAACqC,WAAW,CAACD,CAAC,EAAEL,MAAM,CAAC;AAAAC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AAElF,MAAMG,KAAK,GAAG;EACZ,CAACP,MAAM,GAAGA,MAAM;EAChB,CAACnC,IAAI,CAAC2C,MAAM,IAAC;IACX,OAAO3C,IAAI,CAAC4C,SAAS,CAAC;MAAEC,IAAI,EAAE,IAAI,CAACA;IAAI,CAAE,CAAC;EAC5C,CAAC;EACD,CAAChD,KAAK,CAAC8C,MAAM,EAA6BG,IAAiB;IACzD,OAAOP,QAAQ,CAACO,IAAI,CAAC,IAAI,IAAI,CAACD,IAAI,KAAKC,IAAI,CAACD,IAAI;EAClD,CAAC;EACDE,QAAQA,CAAkCC,GAAsB,EAAEC,KAAQ;IACxE,OAAOC,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACJ,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC,CAAC;EACpE,CAAC;EACDG,YAAYA,CAAkCJ,GAAsB,EAAEC,KAAQ;IAC5E,OAAOC,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACC,YAAY,CAACJ,GAAG,EAAEC,KAAK,CAAC,CAAC;EACxE,CAAC;EACDI,eAAeA,CAA+BC,OAA2B;IACvE,OAAOJ,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACE,eAAe,CAACC,OAAO,CAAC,CAAC;EACxE,CAAC;EACDC,mBAAmBA,CAA+BD,OAA2B;IAC3E,OAAOJ,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACI,mBAAmB,CAACD,OAAO,CAAC,CAAC;EAC5E,CAAC;EACDE,UAAUA,CAA4BC,QAAkB;IACtD,OAAO7D,MAAM,CAAC8D,GAAG,CAACC,WAAW,EAAGC,QAAQ,IAAKA,QAAQ,CAACJ,UAAU,CAACC,QAAQ,EAAE,IAAI,CAACI,aAAa,CAACJ,QAAQ,CAAC,CAAC,CAAC;EAC3G,CAAC;EACD,IAAIK,MAAMA,CAAA;IACR,OAAOH,WAAW,CAACI,IAAI,CACrBnE,MAAM,CAACoE,OAAO,CAAEJ,QAAQ,IAAKA,QAAQ,CAACK,UAAU,CAAC,IAAW,CAAC,CAAC,CAC/D;EACH,CAAC;EACDC,OAAOA,CAMLC,KAAoD,EACpDC,OAOC;IAUD,OAAOT,WAAW,CAACI,IAAI,CACrBnE,MAAM,CAACoE,OAAO,CAAEJ,QAAQ,IACtBA,QAAQ,CAACS,cAAc,CACrB,IAAI,EACJzE,MAAM,CAAC0E,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAGvE,MAAM,CAAC2E,OAAO,CAACJ,KAAK,CAAC,EACtDC,OAAO,CACR,CACF,EACDnE,KAAK,CAACuE,aAAa,CACpB;EACH,CAAC;EACDC,EAAE,EAAEC,kBAAQ;EACZC,cAAcA,CAMZR,KAYG,EACHC,OAMC;IAED,MAAMQ,aAAa,GAAGhF,MAAM,CAACiF,GAAG,CAAC,IAAI,EAAE,aAAS;MAC9C,MAAMC,SAAS,GAAGlF,MAAM,CAAC0E,QAAQ,CAACH,KAAK,CAAC,GAAG,OAAOA,KAAK,GAAGA,KAAK;MAC/D,MAAMY,OAAO,GAAG,OAAO7E,OAAO,CAAC8E,IAAI,EAA0B;MAE7D;MACA,MAAMC,OAAO,GAAIC,QAAa,IAAI;QAChC,OAAOtF,MAAM,CAACuF,KAAK,CAAYC,MAAM,IAAI;UACvCL,OAAO,CAACM,WAAW,CAACH,QAAQ,CAAC;UAC7BI,OAAO,CAACzD,GAAG,CAACqD,QAAQ,EAAEE,MAAM,CAAC;QAC/B,CAAC,CAAC;MACJ,CAAC;MACD,MAAMG,QAAQ,GAAwB,EAAE;MACxC,KAAK,MAAMC,GAAG,IAAI,IAAI,CAACrC,QAAQ,CAACsC,QAAQ,CAACC,IAAI,EAAE,EAAE;QAC/CH,QAAQ,CAACC,GAAG,CAAC,GAAGP,OAAO;MACzB;MAEA;MACA,MAAMK,OAAO,GAAG,IAAIK,GAAG,EAA8D;MACrF,MAAMC,QAAQ,GAAGA,CAACC,OAA8B,EAAEC,IAAyB,KACzElG,MAAM,CAACmG,IAAI,CAAC,MAAK;QACf,MAAMX,MAAM,GAAGE,OAAO,CAAC1D,GAAG,CAACiE,OAAO,CAAC;QACnC,IAAIT,MAAM,EAAE;UACVE,OAAO,CAACU,MAAM,CAACH,OAAO,CAAC;UACvBT,MAAM,CAACU,IAAI,CAAC;QACd;MACF,CAAC,CAAC;MACJ,MAAMG,OAAO,GAAkB;QAC7B1B,OAAO,EAAEA,CAACsB,OAAO,EAAE5C,KAAK,KAAK2C,QAAQ,CAACC,OAAO,EAAE/F,IAAI,CAACyE,OAAO,CAACtB,KAAK,CAAC,CAAC;QACnEiD,IAAI,EAAEA,CAACL,OAAO,EAAEM,KAAK,KAAKP,QAAQ,CAACC,OAAO,EAAE/F,IAAI,CAACoG,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7DC,SAAS,EAAEA,CAACP,OAAO,EAAEQ,KAAK,KAAKT,QAAQ,CAACC,OAAO,EAAE/F,IAAI,CAACsG,SAAS,CAACC,KAAK,CAAC,CAAC;QACvET;OACD;MAED;MACA,OAAOd,SAAS,CAACC,OAAO,EAAEkB,OAAO,CAAC,CAAClC,IAAI,CACrCnE,MAAM,CAAC0G,aAAa,CAAED,KAAK,IAAI;QAC7B,MAAMP,IAAI,GAAGhG,IAAI,CAACsG,SAAS,CAACC,KAAK,CAAC;QAClC,KAAK,MAAMjB,MAAM,IAAIE,OAAO,CAACiB,MAAM,EAAE,EAAE;UACrCnB,MAAM,CAACU,IAAI,CAAC;QACd;QACA,OAAOlG,MAAM,CAAC4G,IAAI;MACpB,CAAC,CAAC,EACF5G,MAAM,CAAC6G,aAAa,EACpB7G,MAAM,CAAC8G,UAAU,CAClB;MAED,OAAOnB,QAAe;IACxB,CAAC,CAAC;IAEF,OAAO,IAAI,CAACrB,OAAO,CAACU,aAAa,EAAE;MACjC,GAAGR,OAAO;MACVuC,WAAW,EAAE;KACd,CAAC;EACJ;CACD;AAED;;;;;;;AAOO,MAAMzD,YAAY,GAAGA;AAC1B;;;AAGAL,IAAU;AACV;;;;AAIAM,QAAiC,KACX;EACtB,MAAMyD,IAAI,GAAG5E,MAAM,CAAC6E,MAAM,CAACnE,KAAK,CAAC;EACjCkE,IAAI,CAAC/D,IAAI,GAAGiE,sBAAU,CAAC9B,IAAI,CAACnC,IAAI,CAAC;EACjC+D,IAAI,CAACzD,QAAQ,GAAGA,QAAQ;EACxByD,IAAI,CAAC/C,aAAa,GAAGnE,OAAO,CAACkC,GAAG,CAACuB,QAAQ,CAAC4D,WAAW,EAAEC,yBAAU,CAAC;EAClE,OAAOJ,IAAI;AACb,CAAC;AAED;;;;;;;AAAAxE,OAAA,CAAAc,YAAA,GAAAA,YAAA;AAOO,MAAM8B,IAAI,GAAGA;AAClB;;;AAGAnC,IAAU;AACV;;;;AAIAM,QAAc,KACiBD,YAAY,CAACL,IAAI,EAAEtD,QAAQ,CAACyF,IAAI,CAAC,GAAG7B,QAAQ,CAAC,CAAC;AAE/E;;;;;;AAAAf,OAAA,CAAA4C,IAAA,GAAAA,IAAA;AAMM,MAAOiC,cAAe,sBAAQvH,OAAO,CAACwH,GAAG,CAAC,sCAAsC,CAAC,EAGpF;AAEH;;;;;;AAAA9E,OAAA,CAAA6E,cAAA,GAAAA,cAAA;AAMM,MAAOE,oBAAqB,sBAAQzH,OAAO,CAACwH,GAAG,CAAC,sCAAsC,CAAC,EAG1F;AA0CH;;;;AAAA9E,OAAA,CAAA+E,oBAAA,GAAAA,oBAAA;AAIM,MAAOC,OAA6B,SAAQzH,IAAI,CAAC0H,KAItD;EACC;;;EAGA,IAAIC,kBAAkBA,CAAA;IACpB,OAAO,IAAI,CAACC,aAAa,CAACxD,IAAI,CAAC5D,MAAM,CAACuD,GAAG,CAAE8D,KAAK,IAAK/H,GAAG,CAACgI,YAAY,CAACD,KAAK,CAACjB,MAAM,CAAC,CAAC,CAAC;EACvF;EAEA;;;EAGA,IAAImB,YAAYA,CAAA;IACd,IAAIvH,MAAM,CAACwH,MAAM,CAAC,IAAI,CAACJ,aAAa,CAAC,EAAE;MACrC,OAAO,CAAC;IACV;IACA,OAAO,IAAI,CAACA,aAAa,CAACtE,KAAK,CAAC2E,QAAQ,GAAG,CAAC;EAC9C;;;AAGF,MAAMjE,WAAW,gBAAGjE,OAAO,CAACmI,UAAU,CAA6B,0BAA0B,CAAC;AAE9F;;;;AAIO,MAAMC,cAAc,GAAA1F,OAAA,CAAA0F,cAAA,gBAOvBlI,MAAM,CAACmI,UAAU,CAAC,WACpBC,MAA0B,EAC1BC,KAA8B;EAE9B,MAAMC,MAAM,GAAG,OAAOC,8BAAc;EACpC,MAAMC,WAAW,GAAI3E,QAAgB,IACnC5C,OAAO,CAACmE,IAAI,CACVgD,MAAM,CAACnE,aAAa,CAACJ,QAAoB,CAAC,EACzC4E,IAAI,CAACC,GAAG,CAAC,IAAAC,gBAAU,EAAC9E,QAAQ,CAAC,GAAGyE,MAAM,CAACM,cAAc,CAAC,GAAI,CAAC,CAC7D;EACH,MAAMC,YAAY,GAAG,OAAO1H,SAAS,CAAC2H,aAAa;EACnD,MAAMC,aAAa,GAAG,IAAIC,4BAAa,CAAC;IAAEC,IAAI,EAAE,WAAW;IAAEC,IAAI,EAAE;EAAI,CAAE,CAAC;EAC1E,MAAMC,SAAS,GAAG,IAAIpD,GAAG,EAQrB;EACJ,MAAM/B,QAAQ,GAAGD,WAAW,CAACc,EAAE,CAAC;IAC9B,GAAI,EAAuB;IAC3BJ,cAAc,EAAEA,CAAC2D,MAAM,EAAEzC,QAAQ,EAAEnB,OAAO,KACxCxE,MAAM,CAACoJ,WAAW,CAAE1F,OAAO,IAAI;MAC7ByF,SAAS,CAAClH,GAAG,CAACmG,MAAM,CAACnF,IAAI,EAAE;QACzBS,OAAO,EAAEA,OAAc;QACvBqD,WAAW,EAAEvC,OAAO,EAAEuC,WAAW,IAAI,CAAC;QACtCxC,KAAK,EAAE6D,MAAM,CAAC7E,QAAQ,CAAC8F,iBAAiB,CAAC1D,QAAQ,CAAC,CAACxB,IAAI,CACrDnE,MAAM,CAACsJ,OAAO,CAAC5F,OAAO,CAACS,IAAI,CACzBrE,OAAO,CAACyJ,GAAG,CAAChC,oBAAoB,EAAEwB,aAAa,CAAC,EAChDjJ,OAAO,CAAC0J,IAAI,CAACC,YAAK,CAAC,CACpB,CAAC;OAEL,CAAC;IACJ,CAAC;GACJ,CAAC;EACF,OAAOpJ,KAAK,CAACkE,KAAK,CAAClE,KAAK,CAACiJ,OAAO,CAACjB,KAAK,EAAEhI,KAAK,CAACsE,OAAO,CAACZ,WAAW,EAAEC,QAAQ,CAAC,CAAC,CAAC;EAC9E,MAAM0F,WAAW,GAAGP,SAAS,CAACnH,GAAG,CAACoG,MAAM,CAACnF,IAAI,CAAC;EAC9C,IAAI,CAACyG,WAAW,EAAE;IAChB,OAAO,OAAO1J,MAAM,CAAC2J,UAAU,CAAC,0BAA0BvB,MAAM,CAACnF,IAAI,8BAA8B,CAAC;EACtG;EAEA,MAAMa,GAAG,GAAG,OAAO8F,wBAAW,CAACxE,IAAI,CAACpF,MAAM,CAACmI,UAAU,CAAC,WAAUtE,QAAgB;IAC9E,MAAMgG,OAAO,GAAG,IAAIC,4BAAa,CAAC;MAChCC,UAAU,EAAE3B,MAAM,CAACnF,IAAI;MACvBY,QAAQ,EAAEA,QAAoB;MAC9BmG,OAAO,EAAExB,WAAW,CAAC3E,QAAQ;KAC9B,CAAC;IACF,MAAM8B,QAAQ,GAAG,OAAO+D,WAAW,CAACnF,KAAK,CAACJ,IAAI,CAC5CnE,MAAM,CAACiK,cAAc,CAAC5C,cAAc,EAAEwC,OAAO,CAAC,CAC/C;IAED;IACA,IAAI3F,MAA6F;IACjG,MAAMgG,MAAM,GAAG,OAAOtK,SAAS,CAACuK,mBAAmB,CAAC/B,MAAM,CAAC7E,QAAQ,EAAE;MACnEwD,WAAW,EAAE2C,WAAW,CAAC3C,WAAW;MACpCqD,YAAYA,CAACC,QAAQ;QACnB,OAAOnG,MAAM,CAACoG,KAAK,CAACD,QAAQ,CAAC;MAC/B;KACD,CAAC,CAAClG,IAAI,CAACnE,MAAM,CAACsJ,OAAO,CAAC3D,QAAQ,CAAC,CAAC;IAEjCzB,MAAM,GAAG,OAAO1E,SAAS,CAAC2K,mBAAmB,CAAC/B,MAAM,CAAC7E,QAAQ,EAAE;MAC7DgH,WAAW,EAAE,IAAI;MACjBC,iBAAiB,EAAEA,CAAA,KAAM3B,YAAY,CAAC4B,UAAU,EAAS;MACzDC,YAAYA,CAAC;QAAEC;MAAO,CAAE;QACtB,IAAIA,OAAO,CAACC,IAAI,KAAK,SAAS,EAAE;UAC9B,OAAOV,MAAM,CAACI,KAAK,CAAC,CAAC,EAAE;YACrB,GAAGK,OAAO;YACVE,OAAO,EAAE,IAAIrD,OAAO,CAAC;cACnB,GAAGmD,OAAO;cACV,CAAC9J,QAAQ,CAAC0B,MAAM,GAAG1B,QAAQ,CAAC0B,MAAM;cAClCsH,OAAO;cACPiB,SAAS,EAAE3J,SAAS,CAACA,SAAS,CAACwJ,OAAO,CAACI,EAAE,CAAC;cAC1CpD,aAAa,EAAEpH,MAAM,CAACyK,IAAI;aAC3B;WACF,CAAC;QACJ;QACA,OAAOd,MAAM,CAACI,KAAK,CAAC,CAAC,EAAEK,OAAO,CAAC;MACjC;KACD,CAAC;IACF,OAAOzG,MAAM,CAACA,MAAM;EACtB,CAAC,CAAC,CAAC;EAEH,OAAQL,QAAgB,IAAKC,GAAG,CAAC9B,GAAG,CAAC6B,QAAQ,CAAC;AAChD,CAAC,CAAC","ignoreList":[]}
|
package/dist/cjs/Sharding.js
CHANGED
|
@@ -217,12 +217,6 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
217
217
|
});
|
|
218
218
|
const send = Effect.catchAllCause(Effect.suspend(() => {
|
|
219
219
|
const message = messages[index];
|
|
220
|
-
// if we are shutting down, we don't accept new requests
|
|
221
|
-
if (message._tag === "IncomingRequest" && isShutdown.current) {
|
|
222
|
-
if (isShutdown.current) {
|
|
223
|
-
return Effect.void;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
220
|
const address = message.envelope.address;
|
|
227
221
|
if (!MutableHashSet.has(acquiredShards, address.shardId)) {
|
|
228
222
|
return Effect.void;
|
|
@@ -232,15 +226,17 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
232
226
|
// reset address in the case that the entity is slow to register
|
|
233
227
|
MutableHashSet.add(resetAddresses, address);
|
|
234
228
|
return Effect.void;
|
|
235
|
-
} else if (state.closed) {
|
|
229
|
+
} else if (state.status === "closed") {
|
|
236
230
|
return Effect.void;
|
|
237
231
|
}
|
|
238
232
|
const isProcessing = state.manager.isProcessingFor(message);
|
|
239
|
-
// If the message might affect a currently processing request, we
|
|
240
|
-
// send it to the entity manager to be processed.
|
|
241
233
|
if (message._tag === "IncomingEnvelope" && isProcessing) {
|
|
234
|
+
// If the message might affect a currently processing request, we
|
|
235
|
+
// send it to the entity manager to be processed.
|
|
242
236
|
return state.manager.send(message);
|
|
243
|
-
} else if (isProcessing) {
|
|
237
|
+
} else if (isProcessing || state.status === "closing") {
|
|
238
|
+
// If the request is already processing, we skip it.
|
|
239
|
+
// Or if the entity is closing, we skip all incoming messages.
|
|
244
240
|
return Effect.void;
|
|
245
241
|
} else if (message._tag === "IncomingRequest" && pendingNotifications.has(message.envelope.requestId)) {
|
|
246
242
|
const entry = pendingNotifications.get(message.envelope.requestId);
|
|
@@ -425,7 +421,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
425
421
|
const state = entityManagers.get(address.entityType);
|
|
426
422
|
if (!state) {
|
|
427
423
|
return Effect.flatMap(waitForEntityManager(address.entityType), loop);
|
|
428
|
-
} else if (state.closed ||
|
|
424
|
+
} else if (state.status === "closed" || state.status === "closing" && message._tag === "IncomingRequest") {
|
|
429
425
|
// if we are shutting down, we don't accept new requests
|
|
430
426
|
return Effect.fail(new _ClusterError.EntityNotAssignedToRunner({
|
|
431
427
|
address
|
|
@@ -443,7 +439,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
443
439
|
const state = entityManagers.get(address.entityType);
|
|
444
440
|
if (!state) {
|
|
445
441
|
return Effect.flatMap(waitForEntityManager(address.entityType), loop);
|
|
446
|
-
} else if (state.closed || !isEntityOnLocalShards(address)) {
|
|
442
|
+
} else if (state.status === "closed" || !isEntityOnLocalShards(address)) {
|
|
447
443
|
return Effect.fail(new _ClusterError.EntityNotAssignedToRunner({
|
|
448
444
|
address
|
|
449
445
|
}));
|
|
@@ -819,6 +815,11 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
819
815
|
yield* Effect.logDebug("Starting singleton", address);
|
|
820
816
|
yield* FiberMap.run(singletonFibers, address, wrappedRun);
|
|
821
817
|
}
|
|
818
|
+
yield* Effect.addFinalizer(() => {
|
|
819
|
+
const map = singletons.get(address.shardId);
|
|
820
|
+
MutableHashMap.remove(map, address);
|
|
821
|
+
return FiberMap.remove(singletonFibers, address);
|
|
822
|
+
});
|
|
822
823
|
}, withSingletonLock);
|
|
823
824
|
const syncSingletons = withSingletonLock(Effect.gen(function* () {
|
|
824
825
|
for (const [shardId, map] of singletons) {
|
|
@@ -843,9 +844,9 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
843
844
|
const entityManagerLatches = new Map();
|
|
844
845
|
const registerEntity = Effect.fnUntraced(function* (entity, build, options) {
|
|
845
846
|
if (Option.isNone(config.runnerAddress) || entityManagers.has(entity.type)) return;
|
|
846
|
-
const scope = yield*
|
|
847
|
+
const scope = yield* Effect.scope;
|
|
847
848
|
yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
848
|
-
state.
|
|
849
|
+
state.status = "closed";
|
|
849
850
|
}));
|
|
850
851
|
const manager = yield* EntityManager.make(entity, build, {
|
|
851
852
|
...options,
|
|
@@ -855,10 +856,16 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
855
856
|
}).pipe(Effect.provide(context.pipe(Context.add(_entityReaper.EntityReaper, reaper), Context.add(Scope.Scope, scope), Context.add(Snowflake.Generator, snowflakeGen))));
|
|
856
857
|
const state = {
|
|
857
858
|
entity,
|
|
858
|
-
|
|
859
|
-
closed: false,
|
|
859
|
+
status: "alive",
|
|
860
860
|
manager
|
|
861
861
|
};
|
|
862
|
+
yield* Scope.addFinalizer(scope, Effect.fiberIdWith(id => {
|
|
863
|
+
state.status = "closing";
|
|
864
|
+
_interruptors.internalInterruptors.add(id);
|
|
865
|
+
// if preemptive shutdown is enabled, we start shutting down Sharding
|
|
866
|
+
// too
|
|
867
|
+
return config.preemptiveShutdown ? shutdown() : Effect.void;
|
|
868
|
+
}));
|
|
862
869
|
// register entities while storage is idle
|
|
863
870
|
// this ensures message order is preserved
|
|
864
871
|
yield* withStorageReadLock(Effect.sync(() => {
|
|
@@ -872,12 +879,6 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
872
879
|
entity
|
|
873
880
|
}));
|
|
874
881
|
});
|
|
875
|
-
yield* Scope.addFinalizerExit(shardingScope, exit => Effect.forEach(entityManagers.values(), state => Effect.catchAllCause(Scope.close(state.scope, exit), cause => Effect.annotateLogs(Effect.logError("Error closing entity manager", cause), {
|
|
876
|
-
entity: state.entity.type
|
|
877
|
-
})), {
|
|
878
|
-
concurrency: "unbounded",
|
|
879
|
-
discard: true
|
|
880
|
-
}));
|
|
881
882
|
const waitForEntityManager = entityType => {
|
|
882
883
|
let latch = entityManagerLatches.get(entityType);
|
|
883
884
|
if (!latch) {
|
|
@@ -919,18 +920,22 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
919
920
|
})));
|
|
920
921
|
}
|
|
921
922
|
// --- Finalization ---
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
923
|
+
const shutdown = Effect.fnUntraced(function* (exit) {
|
|
924
|
+
if (exit) {
|
|
925
|
+
yield* Effect.logDebug("Shutting down", exit._tag === "Failure" ? exit.cause : {}).pipe(Effect.annotateLogs({
|
|
926
|
+
package: "@effect/cluster",
|
|
927
|
+
module: "Sharding"
|
|
928
|
+
}));
|
|
929
|
+
}
|
|
927
930
|
const fiberId = yield* Effect.fiberId;
|
|
928
|
-
MutableRef.set(isShutdown, true);
|
|
929
931
|
_interruptors.internalInterruptors.add(fiberId);
|
|
932
|
+
if (isShutdown.current) return;
|
|
933
|
+
MutableRef.set(isShutdown, true);
|
|
930
934
|
if (selfRunner) {
|
|
931
935
|
yield* Effect.ignore(runnerStorage.unregister(selfRunner.address));
|
|
932
936
|
}
|
|
933
|
-
})
|
|
937
|
+
});
|
|
938
|
+
yield* Scope.addFinalizerExit(shardingScope, shutdown);
|
|
934
939
|
const activeEntityCount = Effect.gen(function* () {
|
|
935
940
|
let count = 0;
|
|
936
941
|
for (const state of entityManagers.values()) {
|