@effect/cluster 0.36.3 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ClusterWorkflowEngine/package.json +6 -0
- package/dist/cjs/ClusterSchema.js +9 -1
- package/dist/cjs/ClusterSchema.js.map +1 -1
- package/dist/cjs/ClusterWorkflowEngine.js +386 -0
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -0
- package/dist/cjs/Envelope.js +14 -4
- package/dist/cjs/Envelope.js.map +1 -1
- package/dist/cjs/Message.js +22 -2
- package/dist/cjs/Message.js.map +1 -1
- package/dist/cjs/MessageStorage.js +59 -21
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/Reply.js +15 -0
- package/dist/cjs/Reply.js.map +1 -1
- package/dist/cjs/Runners.js +2 -2
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/Sharding.js +23 -8
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/Snowflake.js +2 -2
- package/dist/cjs/Snowflake.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +36 -12
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlShardStorage.js +6 -6
- package/dist/cjs/SqlShardStorage.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internal/entityManager.js +4 -4
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterSchema.d.ts +7 -0
- package/dist/dts/ClusterSchema.d.ts.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts +48 -0
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -0
- package/dist/dts/Envelope.d.ts +9 -0
- package/dist/dts/Envelope.d.ts.map +1 -1
- package/dist/dts/Message.d.ts +11 -1
- package/dist/dts/Message.d.ts.map +1 -1
- package/dist/dts/MessageStorage.d.ts +56 -0
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/Reply.d.ts +7 -0
- package/dist/dts/Reply.d.ts.map +1 -1
- package/dist/dts/ShardStorage.d.ts +1 -1
- package/dist/dts/Sharding.d.ts +9 -0
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +10 -1
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/dts/SqlShardStorage.d.ts +1 -1
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/resourceMap.d.ts +1 -1
- package/dist/dts/internal/resourceMap.d.ts.map +1 -1
- package/dist/dts/internal/resourceRef.d.ts +1 -1
- package/dist/dts/internal/resourceRef.d.ts.map +1 -1
- package/dist/esm/ClusterSchema.js +7 -0
- package/dist/esm/ClusterSchema.js.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +378 -0
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -0
- package/dist/esm/Envelope.js +12 -3
- package/dist/esm/Envelope.js.map +1 -1
- package/dist/esm/Message.js +20 -1
- package/dist/esm/Message.js.map +1 -1
- package/dist/esm/MessageStorage.js +59 -21
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/Reply.js +15 -0
- package/dist/esm/Reply.js.map +1 -1
- package/dist/esm/Runners.js +2 -2
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/Sharding.js +24 -9
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/Snowflake.js +2 -2
- package/dist/esm/Snowflake.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +36 -12
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlShardStorage.js +6 -6
- package/dist/esm/SqlShardStorage.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/entityManager.js +5 -5
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +14 -5
- package/src/ClusterSchema.ts +10 -0
- package/src/ClusterWorkflowEngine.ts +475 -0
- package/src/Envelope.ts +17 -3
- package/src/Message.ts +24 -2
- package/src/MessageStorage.ts +122 -22
- package/src/Reply.ts +18 -0
- package/src/Runners.ts +2 -2
- package/src/Sharding.ts +45 -9
- package/src/Snowflake.ts +2 -2
- package/src/SqlMessageStorage.ts +74 -16
- package/src/SqlShardStorage.ts +6 -6
- package/src/index.ts +5 -0
- package/src/internal/entityManager.ts +6 -4
@@ -18,7 +18,7 @@ import * as Schema from "effect/Schema"
|
|
18
18
|
import * as Scope from "effect/Scope"
|
19
19
|
import { AlreadyProcessingMessage, EntityNotAssignedToRunner, MailboxFull, MalformedMessage } from "../ClusterError.js"
|
20
20
|
import * as ClusterMetrics from "../ClusterMetrics.js"
|
21
|
-
import { Persisted } from "../ClusterSchema.js"
|
21
|
+
import { Persisted, Uninterruptible } from "../ClusterSchema.js"
|
22
22
|
import type { Entity, HandlersFrom } from "../Entity.js"
|
23
23
|
import { CurrentAddress, CurrentRunnerAddress, Request } from "../Entity.js"
|
24
24
|
import type { EntityAddress } from "../EntityAddress.js"
|
@@ -150,11 +150,13 @@ export const make = Effect.fnUntraced(function*<
|
|
150
150
|
|
151
151
|
// For durable messages, ignore interrupts during shutdown.
|
152
152
|
// They will be retried when the entity is restarted.
|
153
|
+
// Also, if the request is uninterruptible, we ignore the
|
154
|
+
// interrupt.
|
153
155
|
if (
|
154
156
|
storageEnabled &&
|
155
|
-
isShuttingDown &&
|
156
157
|
Context.get(request.rpc.annotations, Persisted) &&
|
157
|
-
Exit.isInterrupted(response.exit)
|
158
|
+
Exit.isInterrupted(response.exit) &&
|
159
|
+
(isShuttingDown || Context.get(request.rpc.annotations, Uninterruptible))
|
158
160
|
) {
|
159
161
|
return Effect.void
|
160
162
|
}
|
@@ -371,7 +373,7 @@ export const make = Effect.fnUntraced(function*<
|
|
371
373
|
case "IncomingEnvelope": {
|
372
374
|
const entry = server.activeRequests.get(message.envelope.requestId)
|
373
375
|
if (!entry) {
|
374
|
-
return Effect.
|
376
|
+
return Effect.void
|
375
377
|
} else if (
|
376
378
|
message.envelope._tag === "AckChunk" &&
|
377
379
|
Option.isSome(entry.lastSentChunk) &&
|