@effect/cluster 0.38.10 → 0.38.12
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 +42 -6
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/internal/entityManager.js +13 -7
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +5 -0
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +3 -0
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +42 -6
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/internal/entityManager.js +13 -7
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +3 -3
- package/src/ClusterWorkflowEngine.ts +81 -39
- package/src/Entity.ts +11 -0
- package/src/Sharding.ts +2 -0
- package/src/internal/entityManager.ts +26 -13
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"entityManager.js","names":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Equal","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","Uninterruptible","CurrentAddress","CurrentRunnerAddress","Request","Envelope","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","onFromServer","response","_tag","request","get","requestId","void","sentReply","rpc","annotations","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","effect","unsafeRebuild","Array","keys","logError","die","defect","andThen","tapErrorCause","retry","spaced","annotateLogs","module","runner","open","extend","sync","write","envelope","tag","payload","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","symbol","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","cause","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","push","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"entityManager.js","names":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Equal","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","Uninterruptible","CurrentAddress","CurrentRunnerAddress","Request","Envelope","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","retryDriver","driver","defectRetryPolicy","andThen","defaultRetryPolicy","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","disableFatalDefects","onFromServer","response","_tag","request","get","requestId","void","sentReply","rpc","annotations","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","forkIn","onDefect","die","defect","open","extend","sync","write","envelope","tag","payload","cause","effect","unsafeRebuild","Array","keys","logError","next","annotateLogs","module","runner","catchAllCause","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","symbol","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","exponential","union","spaced","push","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@effect/cluster",
|
3
|
-
"version": "0.38.
|
3
|
+
"version": "0.38.12",
|
4
4
|
"description": "Unified interfaces for common cluster-specific services",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -12,9 +12,9 @@
|
|
12
12
|
"homepage": "https://effect.website",
|
13
13
|
"peerDependencies": {
|
14
14
|
"@effect/platform": "^0.84.9",
|
15
|
-
"@effect/rpc": "^0.61.
|
15
|
+
"@effect/rpc": "^0.61.11",
|
16
16
|
"@effect/sql": "^0.37.10",
|
17
|
-
"@effect/workflow": "^0.1.
|
17
|
+
"@effect/workflow": "^0.1.10",
|
18
18
|
"effect": "^3.16.5"
|
19
19
|
},
|
20
20
|
"publishConfig": {
|
@@ -141,7 +141,15 @@ export const make = Effect.gen(function*() {
|
|
141
141
|
times: 3,
|
142
142
|
schedule: Schedule.exponential(250)
|
143
143
|
}),
|
144
|
-
Effect.orDie
|
144
|
+
Effect.orDie,
|
145
|
+
(effect, { activity, attempt, executionId }) =>
|
146
|
+
Effect.withSpan(effect, "WorkflowEngine.resetActivityAttempt", {
|
147
|
+
attributes: {
|
148
|
+
name: activity.name,
|
149
|
+
executionId,
|
150
|
+
attempt
|
151
|
+
}
|
152
|
+
})
|
145
153
|
)
|
146
154
|
|
147
155
|
const clearClock = Effect.fnUntraced(function*(options: {
|
@@ -289,40 +297,59 @@ export const make = Effect.gen(function*() {
|
|
289
297
|
times: 3,
|
290
298
|
schedule: Schedule.exponential(250)
|
291
299
|
}),
|
292
|
-
Effect.orDie
|
300
|
+
Effect.orDie,
|
301
|
+
(effect, workflow, executionId) =>
|
302
|
+
Effect.withSpan(effect, "WorkflowEngine.interrupt", {
|
303
|
+
attributes: {
|
304
|
+
name: workflow.name,
|
305
|
+
executionId
|
306
|
+
}
|
307
|
+
})
|
293
308
|
),
|
294
309
|
|
295
|
-
activityExecute: Effect.fnUntraced(
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
while (true) {
|
307
|
-
const result = yield* Effect.orDie(client.activity({ name: activity.name, attempt }))
|
308
|
-
// If the activity has suspended and did not execute, we need to resume
|
309
|
-
// it by resetting the attempt and re-executing.
|
310
|
-
if (result._tag === "Suspended" && activities.has(activityId)) {
|
311
|
-
yield* resetActivityAttempt({
|
312
|
-
workflow: instance.workflow,
|
313
|
-
executionId: instance.executionId,
|
314
|
-
activity,
|
315
|
-
attempt
|
316
|
-
})
|
317
|
-
continue
|
310
|
+
activityExecute: Effect.fnUntraced(
|
311
|
+
function*({ activity, attempt }) {
|
312
|
+
const context = yield* Effect.context<WorkflowInstance>()
|
313
|
+
const instance = Context.get(context, WorkflowInstance)
|
314
|
+
yield* Effect.annotateCurrentSpan("executionId", instance.executionId)
|
315
|
+
const activityId = `${instance.executionId}/${activity.name}`
|
316
|
+
activities.set(activityId, { activity, context })
|
317
|
+
const latch = activityLatches.get(activityId)
|
318
|
+
if (latch) {
|
319
|
+
yield* latch.release
|
320
|
+
activityLatches.delete(activityId)
|
318
321
|
}
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
322
|
+
const client = (yield* RcMap.get(clients, instance.workflow.name))(instance.executionId)
|
323
|
+
while (true) {
|
324
|
+
const result = yield* Effect.orDie(client.activity({ name: activity.name, attempt }))
|
325
|
+
// If the activity has suspended and did not execute, we need to resume
|
326
|
+
// it by resetting the attempt and re-executing.
|
327
|
+
if (result._tag === "Suspended" && activities.has(activityId)) {
|
328
|
+
yield* resetActivityAttempt({
|
329
|
+
workflow: instance.workflow,
|
330
|
+
executionId: instance.executionId,
|
331
|
+
activity,
|
332
|
+
attempt
|
333
|
+
})
|
334
|
+
continue
|
335
|
+
}
|
336
|
+
activities.delete(activityId)
|
337
|
+
return result
|
338
|
+
}
|
339
|
+
},
|
340
|
+
Effect.scoped,
|
341
|
+
(effect, { activity, attempt }) =>
|
342
|
+
Effect.withSpan(effect, "WorkflowEngine.activityExecute", {
|
343
|
+
attributes: {
|
344
|
+
name: activity.name,
|
345
|
+
attempt
|
346
|
+
}
|
347
|
+
})
|
348
|
+
),
|
323
349
|
|
324
350
|
deferredResult: (deferred) =>
|
325
351
|
WorkflowInstance.pipe(
|
352
|
+
Effect.tap((instance) => Effect.annotateCurrentSpan("executionId", instance.executionId)),
|
326
353
|
Effect.flatMap((instance) =>
|
327
354
|
requestReply({
|
328
355
|
workflow: instance.workflow,
|
@@ -338,18 +365,33 @@ export const make = Effect.gen(function*() {
|
|
338
365
|
times: 3,
|
339
366
|
schedule: Schedule.exponential(250)
|
340
367
|
}),
|
341
|
-
Effect.orDie
|
368
|
+
Effect.orDie,
|
369
|
+
Effect.withSpan("WorkflowEngine.deferredResult", {
|
370
|
+
attributes: {
|
371
|
+
name: deferred.name
|
372
|
+
}
|
373
|
+
})
|
342
374
|
),
|
343
375
|
|
344
|
-
deferredDone: Effect.fnUntraced(
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
376
|
+
deferredDone: Effect.fnUntraced(
|
377
|
+
function*({ deferred, executionId, exit, workflowName }) {
|
378
|
+
const client = yield* RcMap.get(clients, workflowName)
|
379
|
+
return yield* Effect.orDie(
|
380
|
+
client(executionId).deferred({
|
381
|
+
name: deferred.name,
|
382
|
+
exit
|
383
|
+
}, { discard: true })
|
384
|
+
)
|
385
|
+
},
|
386
|
+
Effect.scoped,
|
387
|
+
(effect, { deferred, executionId }) =>
|
388
|
+
Effect.withSpan(effect, "WorkflowEngine.deferredDone", {
|
389
|
+
attributes: {
|
390
|
+
name: deferred.name,
|
391
|
+
executionId
|
392
|
+
}
|
393
|
+
})
|
394
|
+
),
|
353
395
|
|
354
396
|
scheduleClock(options) {
|
355
397
|
const client = clockClient(options.executionId)
|
package/src/Entity.ts
CHANGED
@@ -18,6 +18,7 @@ import * as Layer from "effect/Layer"
|
|
18
18
|
import * as Mailbox from "effect/Mailbox"
|
19
19
|
import * as Option from "effect/Option"
|
20
20
|
import * as Predicate from "effect/Predicate"
|
21
|
+
import type * as Schedule from "effect/Schedule"
|
21
22
|
import { Scope } from "effect/Scope"
|
22
23
|
import type * as Stream from "effect/Stream"
|
23
24
|
import type {
|
@@ -127,6 +128,8 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
127
128
|
readonly maxIdleTime?: DurationInput | undefined
|
128
129
|
readonly concurrency?: number | "unbounded" | undefined
|
129
130
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
131
|
+
readonly disableFatalDefects?: boolean | undefined
|
132
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
130
133
|
}
|
131
134
|
): Layer.Layer<
|
132
135
|
never,
|
@@ -163,6 +166,8 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
163
166
|
options?: {
|
164
167
|
readonly maxIdleTime?: DurationInput | undefined
|
165
168
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
169
|
+
readonly disableFatalDefects?: boolean | undefined
|
170
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
166
171
|
}
|
167
172
|
): Layer.Layer<
|
168
173
|
never,
|
@@ -234,6 +239,9 @@ const Proto = {
|
|
234
239
|
options?: {
|
235
240
|
readonly maxIdleTime?: DurationInput | undefined
|
236
241
|
readonly concurrency?: number | "unbounded" | undefined
|
242
|
+
readonly mailboxCapacity?: number | "unbounded" | undefined
|
243
|
+
readonly disableFatalDefects?: boolean | undefined
|
244
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
237
245
|
}
|
238
246
|
): Layer.Layer<
|
239
247
|
never,
|
@@ -276,6 +284,9 @@ const Proto = {
|
|
276
284
|
>,
|
277
285
|
options?: {
|
278
286
|
readonly maxIdleTime?: DurationInput | undefined
|
287
|
+
readonly mailboxCapacity?: number | "unbounded" | undefined
|
288
|
+
readonly disableFatalDefects?: boolean | undefined
|
289
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
279
290
|
}
|
280
291
|
) {
|
281
292
|
const buildHandlers = Effect.gen(this, function*() {
|
package/src/Sharding.ts
CHANGED
@@ -104,6 +104,8 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
|
|
104
104
|
readonly maxIdleTime?: DurationInput | undefined
|
105
105
|
readonly concurrency?: number | "unbounded" | undefined
|
106
106
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
107
|
+
readonly disableFatalDefects?: boolean | undefined
|
108
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
107
109
|
}
|
108
110
|
) => Effect.Effect<
|
109
111
|
void,
|
@@ -88,6 +88,8 @@ export const make = Effect.fnUntraced(function*<
|
|
88
88
|
readonly maxIdleTime?: DurationInput | undefined
|
89
89
|
readonly concurrency?: number | "unbounded" | undefined
|
90
90
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
91
|
+
readonly disableFatalDefects?: boolean | undefined
|
92
|
+
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown, never> | undefined
|
91
93
|
}
|
92
94
|
) {
|
93
95
|
const config = yield* ShardingConfig
|
@@ -97,6 +99,9 @@ export const make = Effect.fnUntraced(function*<
|
|
97
99
|
const mailboxCapacity = options.mailboxCapacity ?? config.entityMailboxCapacity
|
98
100
|
const clock = yield* Effect.clock
|
99
101
|
const context = yield* Effect.context<Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | RX>()
|
102
|
+
const retryDriver = yield* Schedule.driver(
|
103
|
+
options.defectRetryPolicy ? Schedule.andThen(options.defectRetryPolicy, defaultRetryPolicy) : defaultRetryPolicy
|
104
|
+
)
|
100
105
|
|
101
106
|
const activeServers = new Map<EntityId, EntityState>()
|
102
107
|
|
@@ -141,6 +146,7 @@ export const make = Effect.fnUntraced(function*<
|
|
141
146
|
const server = yield* RpcServer.makeNoSerialization(entity.protocol, {
|
142
147
|
spanPrefix: `${entity.type}(${address.entityId})`,
|
143
148
|
concurrency: options.concurrency ?? 1,
|
149
|
+
disableFatalDefects: options.disableFatalDefects,
|
144
150
|
onFromServer(response): Effect.Effect<void> {
|
145
151
|
switch (response._tag) {
|
146
152
|
case "Exit": {
|
@@ -210,19 +216,7 @@ export const make = Effect.fnUntraced(function*<
|
|
210
216
|
))
|
211
217
|
}
|
212
218
|
case "Defect": {
|
213
|
-
|
214
|
-
defectRequestIds = Array.from(activeRequests.keys())
|
215
|
-
return Effect.logError("Defect in entity, restarting", Cause.die(response.defect)).pipe(
|
216
|
-
Effect.andThen(effect.pipe(
|
217
|
-
Effect.tapErrorCause(Effect.logError),
|
218
|
-
Effect.retry(Schedule.spaced(500))
|
219
|
-
)),
|
220
|
-
Effect.annotateLogs({
|
221
|
-
module: "EntityManager",
|
222
|
-
address,
|
223
|
-
runner: options.runnerAddress
|
224
|
-
})
|
225
|
-
)
|
219
|
+
return Effect.forkIn(onDefect(Cause.die(response.defect)), managerScope)
|
226
220
|
}
|
227
221
|
case "ClientEnd": {
|
228
222
|
return endLatch.open
|
@@ -259,6 +253,21 @@ export const make = Effect.fnUntraced(function*<
|
|
259
253
|
})
|
260
254
|
)
|
261
255
|
|
256
|
+
function onDefect(cause: Cause.Cause<never>): Effect.Effect<void> {
|
257
|
+
const effect = writeRef.unsafeRebuild()
|
258
|
+
defectRequestIds = Array.from(activeRequests.keys())
|
259
|
+
return Effect.logError("Defect in entity, restarting", cause).pipe(
|
260
|
+
Effect.andThen(Effect.ignore(retryDriver.next(void 0))),
|
261
|
+
Effect.andThen(effect),
|
262
|
+
Effect.annotateLogs({
|
263
|
+
module: "EntityManager",
|
264
|
+
address,
|
265
|
+
runner: options.runnerAddress
|
266
|
+
}),
|
267
|
+
Effect.catchAllCause(onDefect)
|
268
|
+
)
|
269
|
+
}
|
270
|
+
|
262
271
|
const state: EntityState = {
|
263
272
|
address,
|
264
273
|
mailboxGauge: ClusterMetrics.mailboxSize.pipe(
|
@@ -482,6 +491,10 @@ export const make = Effect.fnUntraced(function*<
|
|
482
491
|
})
|
483
492
|
})
|
484
493
|
|
494
|
+
const defaultRetryPolicy = Schedule.exponential(500, 1.5).pipe(
|
495
|
+
Schedule.union(Schedule.spaced("10 seconds"))
|
496
|
+
)
|
497
|
+
|
485
498
|
const makeMessageSchema = <Rpcs extends Rpc.Any>(entity: Entity<Rpcs>): Schema.Schema<
|
486
499
|
{
|
487
500
|
readonly _tag: "IncomingRequest"
|