@effect/cluster 0.46.3 → 0.47.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.
@@ -3,10 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.layerRpc = exports.layerNoop = exports.layer = exports.RunnerHealth = void 0;
6
+ exports.makePing = exports.make = exports.layerRpc = exports.layerNoop = exports.layer = exports.RunnerHealth = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var Effect = _interopRequireWildcard(require("effect/Effect"));
9
9
  var Layer = _interopRequireWildcard(require("effect/Layer"));
10
+ var RcMap = _interopRequireWildcard(require("effect/RcMap"));
10
11
  var MessageStorage = _interopRequireWildcard(require("./MessageStorage.js"));
11
12
  var Runners = _interopRequireWildcard(require("./Runners.js"));
12
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -25,6 +26,27 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
25
26
  * @category models
26
27
  */
27
28
  class RunnerHealth extends /*#__PURE__*/Context.Tag("@effect/cluster/RunnerHealth")() {}
29
+ /**
30
+ * @since 1.0.0
31
+ * @category Constructors
32
+ */
33
+ exports.RunnerHealth = RunnerHealth;
34
+ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
35
+ const connections = yield* RcMap.make({
36
+ lookup: _address => Effect.void
37
+ });
38
+ const onConnection = address => RcMap.get(connections, address);
39
+ const isAlive = Effect.fnUntraced(function* (address) {
40
+ if (yield* RcMap.has(connections, address)) {
41
+ return true;
42
+ }
43
+ return yield* options.isAlive(address);
44
+ });
45
+ return RunnerHealth.of({
46
+ onConnection,
47
+ isAlive
48
+ });
49
+ });
28
50
  /**
29
51
  * A layer which will **always** consider a Runner healthy.
30
52
  *
@@ -33,22 +55,21 @@ class RunnerHealth extends /*#__PURE__*/Context.Tag("@effect/cluster/RunnerHealt
33
55
  * @since 1.0.0
34
56
  * @category layers
35
57
  */
36
- exports.RunnerHealth = RunnerHealth;
37
- const layerNoop = exports.layerNoop = /*#__PURE__*/Layer.succeed(RunnerHealth, /*#__PURE__*/RunnerHealth.of({
58
+ const layerNoop = exports.layerNoop = /*#__PURE__*/Layer.scoped(RunnerHealth, /*#__PURE__*/make({
38
59
  isAlive: () => Effect.succeed(true)
39
60
  }));
40
61
  /**
41
62
  * @since 1.0.0
42
63
  * @category Constructors
43
64
  */
44
- const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
65
+ const makePing = exports.makePing = /*#__PURE__*/Effect.gen(function* () {
45
66
  const runners = yield* Runners.Runners;
46
67
  function isAlive(address) {
47
68
  return runners.ping(address).pipe(Effect.timeout(3000), Effect.retry({
48
69
  times: 3
49
70
  }), Effect.isSuccess);
50
71
  }
51
- return RunnerHealth.of({
72
+ return yield* make({
52
73
  isAlive
53
74
  });
54
75
  });
@@ -58,7 +79,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
58
79
  * @since 1.0.0
59
80
  * @category layers
60
81
  */
61
- const layer = exports.layer = /*#__PURE__*/Layer.effect(RunnerHealth, make);
82
+ const layer = exports.layer = /*#__PURE__*/Layer.scoped(RunnerHealth, makePing);
62
83
  /**
63
84
  * A layer which will ping a Runner directly to check if it is healthy.
64
85
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerHealth.js","names":["Context","_interopRequireWildcard","require","Effect","Layer","MessageStorage","Runners","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RunnerHealth","Tag","exports","layerNoop","succeed","of","isAlive","make","gen","runners","address","ping","pipe","timeout","retry","times","isSuccess","layer","effect","layerRpc","provide"],"sources":["../../src/RunnerHealth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RunnerHealth.js","names":["Context","_interopRequireWildcard","require","Effect","Layer","RcMap","MessageStorage","Runners","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RunnerHealth","Tag","exports","make","fnUntraced","options","connections","lookup","_address","void","onConnection","address","isAlive","of","layerNoop","scoped","succeed","makePing","gen","runners","ping","pipe","timeout","retry","times","isSuccess","layer","layerRpc","provide"],"sources":["../../src/RunnerHealth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -157,6 +157,9 @@ class Rpcs extends /*#__PURE__*/RpcGroup.make(/*#__PURE__*/Rpc.make("Register",
157
157
  }), /*#__PURE__*/Rpc.make("GetAssignments", {
158
158
  success: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.Tuple(_ShardId.ShardId, /*#__PURE__*/Schema.Option(_RunnerAddress.RunnerAddress)))
159
159
  }), /*#__PURE__*/Rpc.make("ShardingEvents", {
160
+ payload: {
161
+ address: /*#__PURE__*/Schema.Option(_RunnerAddress.RunnerAddress)
162
+ },
160
163
  success: ShardingEventSchema,
161
164
  stream: true
162
165
  }), /*#__PURE__*/Rpc.make("GetTime", {
@@ -192,7 +195,7 @@ const makeClientLocal = exports.makeClientLocal = /*#__PURE__*/Effect.gen(functi
192
195
  unregister: () => Effect.void,
193
196
  notifyUnhealthyRunner: () => Effect.void,
194
197
  getAssignments: Effect.succeed(shards),
195
- shardingEvents: Effect.gen(function* () {
198
+ shardingEvents: Effect.fnUntraced(function* (_address) {
196
199
  const mailbox = yield* Mailbox.make();
197
200
  yield* mailbox.offer(ShardingEvent.StreamStarted());
198
201
  return mailbox;
@@ -225,8 +228,10 @@ const makeClientRpc = exports.makeClientRpc = /*#__PURE__*/Effect.gen(function*
225
228
  address
226
229
  })),
227
230
  getAssignments: Effect.orDie(client.GetAssignments()),
228
- shardingEvents: Mailbox.make().pipe(Effect.tap(Effect.fnUntraced(function* (mailbox) {
229
- const events = yield* client.ShardingEvents(void 0, {
231
+ shardingEvents: address => Mailbox.make().pipe(Effect.tap(Effect.fnUntraced(function* (mailbox) {
232
+ const events = yield* client.ShardingEvents({
233
+ address
234
+ }, {
230
235
  asMailbox: true
231
236
  });
232
237
  const take = Effect.orDie(events.takeAll);
@@ -476,7 +481,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
476
481
  yield* Effect.logInfo("Shard manager initialized");
477
482
  return ShardManager.of({
478
483
  getAssignments,
479
- shardingEvents: PubSub.subscribe(events),
484
+ shardingEvents: address => Effect.zipRight(Option.isSome(address) ? runnerHealthApi.onConnection(address.value) : Effect.void, PubSub.subscribe(events)),
480
485
  register,
481
486
  unregister,
482
487
  rebalance,
@@ -507,8 +512,10 @@ const layerServerHandlers = exports.layerServerHandlers = /*#__PURE__*/Rpcs.toLa
507
512
  address
508
513
  }) => shardManager.notifyUnhealthyRunner(address),
509
514
  GetAssignments: () => Effect.map(shardManager.getAssignments, assignments => Array.from(assignments)),
510
- ShardingEvents: Effect.fnUntraced(function* () {
511
- const queue = yield* shardManager.shardingEvents;
515
+ ShardingEvents: Effect.fnUntraced(function* ({
516
+ address
517
+ }) {
518
+ const queue = yield* shardManager.shardingEvents(address);
512
519
  const mailbox = yield* Mailbox.make();
513
520
  yield* mailbox.offer(ShardingEvent.StreamStarted());
514
521
  yield* Queue.takeBetween(queue, 1, Number.MAX_SAFE_INTEGER).pipe(Effect.flatMap(events => mailbox.offerAll(events)), Effect.forever, Effect.forkScoped);
@@ -1 +1 @@
1
- {"version":3,"file":"ShardManager.js","names":["Rpc","_interopRequireWildcard","require","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","_Function","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","_ClusterError","ClusterMetrics","_shardManager","MachineId","_Runner","_RunnerAddress","_RunnerHealth","_Runners","_ShardId","_ShardingConfig","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardManager","Tag","exports","Config","defaults","rebalanceDebounce","seconds","rebalanceInterval","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","RunnerAddress","shards","Array","ShardId","Rpcs","make","payload","runner","Runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","ShardingConfig","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","add","shardsPerGroup","makeShardId","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","orDie","Unregister","NotifyUnhealthyRunner","GetAssignments","tap","fnUntraced","events","ShardingEvents","asMailbox","take","takeAll","unsafeOfferAll","mb","into","forkScoped","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","RpcClientProtocol","shardManagerAddress","storage","ShardStorage","runnersApi","Runners","runnerHealthApi","RunnerHealth","shardingConfig","state","State","fromStorage","scope","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","isAlive","logWarning","toString","updateShardsState","isSome","value","fail","RunnerNotRegistered","addAssignments","logInfo","pretty","current","filter","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","forkIn","rebalance","unassignments","shard","equals","push","none","removeRunner","length","RunnerUnregistered","rebalancing","rebalanceDeferred","rebalanceFibers","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","deferred","undefined","runRebalance","intoDeferred","identity","onExit","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","decideAssignmentsForShards","addAllNested","from","increment","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","withSpan","captureStackTrace","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ShardManager.js","names":["Rpc","_interopRequireWildcard","require","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","_Function","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","_ClusterError","ClusterMetrics","_shardManager","MachineId","_Runner","_RunnerAddress","_RunnerHealth","_Runners","_ShardId","_ShardingConfig","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardManager","Tag","exports","Config","defaults","rebalanceDebounce","seconds","rebalanceInterval","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","RunnerAddress","shards","Array","ShardId","Rpcs","make","payload","runner","Runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","ShardingConfig","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","add","shardsPerGroup","makeShardId","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","fnUntraced","_address","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","orDie","Unregister","NotifyUnhealthyRunner","GetAssignments","tap","events","ShardingEvents","asMailbox","take","takeAll","unsafeOfferAll","mb","into","forkScoped","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","RpcClientProtocol","shardManagerAddress","storage","ShardStorage","runnersApi","Runners","runnerHealthApi","RunnerHealth","shardingConfig","state","State","fromStorage","scope","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","isAlive","logWarning","toString","updateShardsState","isSome","value","fail","RunnerNotRegistered","addAssignments","logInfo","pretty","current","filter","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","forkIn","rebalance","unassignments","shard","equals","push","none","removeRunner","length","RunnerUnregistered","rebalancing","rebalanceDeferred","rebalanceFibers","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","deferred","undefined","runRebalance","intoDeferred","identity","onExit","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","decideAssignmentsForShards","addAllNested","from","increment","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","withSpan","captureStackTrace","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","onConnection","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -531,7 +531,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
531
531
  }
532
532
  yield* stopShardManagerTimeout;
533
533
  yield* Effect.logDebug("Subscribing to sharding events");
534
- const mailbox = yield* shardManager.shardingEvents;
534
+ const mailbox = yield* shardManager.shardingEvents(config.runnerAddress);
535
535
  const startedLatch = yield* Deferred.make();
536
536
  const eventsFiber = yield* Effect.gen(function* () {
537
537
  while (true) {
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","ShardId","disableValidation","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","EntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","ShardId","disableValidation","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","EntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,10 +4,16 @@
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
6
  import * as Layer from "effect/Layer";
7
+ import type * as Scope from "effect/Scope";
7
8
  import type { RunnerAddress } from "./RunnerAddress.js";
8
9
  import * as Runners from "./Runners.js";
9
10
  import type { ShardingConfig } from "./ShardingConfig.js";
10
11
  declare const RunnerHealth_base: Context.TagClass<RunnerHealth, "@effect/cluster/RunnerHealth", {
12
+ /**
13
+ * Used to indicate that a Runner is connected to this host and is healthy,
14
+ * while the Scope is active.
15
+ */
16
+ readonly onConnection: (address: RunnerAddress) => Effect.Effect<void, never, Scope.Scope>;
11
17
  readonly isAlive: (address: RunnerAddress) => Effect.Effect<boolean>;
12
18
  }>;
13
19
  /**
@@ -22,6 +28,13 @@ declare const RunnerHealth_base: Context.TagClass<RunnerHealth, "@effect/cluster
22
28
  */
23
29
  export declare class RunnerHealth extends RunnerHealth_base {
24
30
  }
31
+ /**
32
+ * @since 1.0.0
33
+ * @category Constructors
34
+ */
35
+ export declare const make: (options: {
36
+ readonly isAlive: (address: RunnerAddress) => Effect.Effect<boolean>;
37
+ }) => Effect.Effect<RunnerHealth["Type"], never, Scope.Scope>;
25
38
  /**
26
39
  * A layer which will **always** consider a Runner healthy.
27
40
  *
@@ -35,7 +48,7 @@ export declare const layerNoop: Layer.Layer<RunnerHealth, never, never>;
35
48
  * @since 1.0.0
36
49
  * @category Constructors
37
50
  */
38
- export declare const make: Effect.Effect<RunnerHealth["Type"], never, Runners.Runners>;
51
+ export declare const makePing: Effect.Effect<RunnerHealth["Type"], never, Runners.Runners | Scope.Scope>;
39
52
  /**
40
53
  * A layer which will ping a Runner directly to check if it is healthy.
41
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerHealth.d.ts","sourceRoot":"","sources":["../../src/RunnerHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;;sBAenC,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AAbxE;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,iBAK/B;CAAG;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,yCAKrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAC9B,YAAY,CAAC,MAAM,CAAC,EACpB,KAAK,EACL,OAAO,CAAC,OAAO,CAaf,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,OAAO,CACmB,CAAA;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,KAAK,CAChC,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAI3C,CAAA"}
1
+ {"version":3,"file":"RunnerHealth.d.ts","sourceRoot":"","sources":["../../src/RunnerHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;;IAerD;;;OAGG;2BACoB,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;sBACxE,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AAlBxE;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,iBAU/B;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,KAC9E,MAAM,CAAC,MAAM,CAChB,YAAY,CAAC,MAAM,CAAC,EACpB,KAAK,EACL,KAAK,CAAC,KAAK,CAoBX,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,yCAKrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,CAClC,YAAY,CAAC,MAAM,CAAC,EACpB,KAAK,EACL,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAa7B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,OAAO,CACuB,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,KAAK,CAChC,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAI3C,CAAA"}
@@ -33,7 +33,7 @@ declare const ShardManager_base: Context.TagClass<ShardManager, "@effect/cluster
33
33
  /**
34
34
  * Get a stream of sharding events emit by the shard manager.
35
35
  */
36
- readonly shardingEvents: Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
36
+ readonly shardingEvents: (address: Option.Option<RunnerAddress>) => Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
37
37
  /**
38
38
  * Register a new runner with the cluster.
39
39
  */
@@ -148,7 +148,7 @@ declare const ShardManagerClient_base: Context.TagClass<ShardManagerClient, "@ef
148
148
  /**
149
149
  * Get a stream of sharding events emit by the shard manager.
150
150
  */
151
- readonly shardingEvents: Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
151
+ readonly shardingEvents: (address: Option.Option<RunnerAddress>) => Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
152
152
  /**
153
153
  * Get the current time on the shard manager.
154
154
  */
@@ -184,7 +184,9 @@ declare const Rpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Register", Schema.Struct<{
184
184
  address: typeof RunnerAddress;
185
185
  }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"NotifyUnhealthyRunner", Schema.Struct<{
186
186
  address: typeof RunnerAddress;
187
- }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"GetAssignments", typeof Schema.Void, Schema.Array$<Schema.Tuple2<typeof ShardId, Schema.Option<typeof RunnerAddress>>>, typeof Schema.Never, never> | Rpc.Rpc<"ShardingEvents", typeof Schema.Void, import("@effect/rpc/RpcSchema").Stream<Schema.Union<[Schema.TaggedStruct<"StreamStarted", {}>, Schema.TaggedStruct<"ShardsAssigned", {
187
+ }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"GetAssignments", typeof Schema.Void, Schema.Array$<Schema.Tuple2<typeof ShardId, Schema.Option<typeof RunnerAddress>>>, typeof Schema.Never, never> | Rpc.Rpc<"ShardingEvents", Schema.Struct<{
188
+ address: Schema.Option<typeof RunnerAddress>;
189
+ }>, import("@effect/rpc/RpcSchema").Stream<Schema.Union<[Schema.TaggedStruct<"StreamStarted", {}>, Schema.TaggedStruct<"ShardsAssigned", {
188
190
  address: typeof RunnerAddress;
189
191
  shards: Schema.Array$<typeof ShardId>;
190
192
  }>, Schema.TaggedStruct<"ShardsUnassigned", {
@@ -382,7 +384,7 @@ export declare const makeClientLocal: Effect.Effect<{
382
384
  /**
383
385
  * Get a stream of sharding events emit by the shard manager.
384
386
  */
385
- readonly shardingEvents: Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
387
+ readonly shardingEvents: (address: Option.Option<RunnerAddress>) => Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
386
388
  /**
387
389
  * Get the current time on the shard manager.
388
390
  */
@@ -415,7 +417,7 @@ export declare const make: Effect.Effect<{
415
417
  /**
416
418
  * Get a stream of sharding events emit by the shard manager.
417
419
  */
418
- readonly shardingEvents: Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
420
+ readonly shardingEvents: (address: Option.Option<RunnerAddress>) => Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
419
421
  /**
420
422
  * Register a new runner with the cluster.
421
423
  */