@effect/cluster 0.50.6 → 0.52.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/RunnerStorage/package.json +6 -0
- package/SqlRunnerStorage/package.json +6 -0
- package/dist/cjs/ClusterError.js +2 -24
- package/dist/cjs/ClusterError.js.map +1 -1
- package/dist/cjs/ClusterMetrics.js +13 -15
- package/dist/cjs/ClusterMetrics.js.map +1 -1
- package/dist/cjs/ClusterSchema.js +17 -2
- package/dist/cjs/ClusterSchema.js.map +1 -1
- package/dist/cjs/ClusterWorkflowEngine.js +50 -83
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +1 -13
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/EntityAddress.js +9 -1
- package/dist/cjs/EntityAddress.js.map +1 -1
- package/dist/cjs/EntityId.js +7 -1
- package/dist/cjs/EntityId.js.map +1 -1
- package/dist/cjs/EntityProxy.js +1 -1
- package/dist/cjs/EntityProxy.js.map +1 -1
- package/dist/cjs/HttpRunner.js +69 -43
- package/dist/cjs/HttpRunner.js.map +1 -1
- package/dist/cjs/MessageStorage.js +64 -16
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/Runner.js +3 -3
- package/dist/cjs/Runner.js.map +1 -1
- package/dist/cjs/RunnerAddress.js +7 -0
- package/dist/cjs/RunnerAddress.js.map +1 -1
- package/dist/cjs/RunnerHealth.js +91 -32
- package/dist/cjs/RunnerHealth.js.map +1 -1
- package/dist/cjs/RunnerServer.js +38 -24
- package/dist/cjs/RunnerServer.js.map +1 -1
- package/dist/cjs/RunnerStorage.js +100 -0
- package/dist/cjs/RunnerStorage.js.map +1 -0
- package/dist/cjs/Runners.js +18 -22
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/ShardId.js +17 -7
- package/dist/cjs/ShardId.js.map +1 -1
- package/dist/cjs/Sharding.js +444 -320
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +10 -14
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Snowflake.js +1 -1
- package/dist/cjs/SocketRunner.js +1 -1
- package/dist/cjs/SocketRunner.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +22 -28
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlRunnerStorage.js +375 -0
- package/dist/cjs/SqlRunnerStorage.js.map +1 -0
- package/dist/cjs/index.js +5 -15
- package/dist/cjs/internal/entityManager.js +42 -23
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterError.d.ts +0 -22
- package/dist/dts/ClusterError.d.ts.map +1 -1
- package/dist/dts/ClusterMetrics.d.ts +4 -14
- package/dist/dts/ClusterMetrics.d.ts.map +1 -1
- package/dist/dts/ClusterSchema.d.ts +9 -1
- package/dist/dts/ClusterSchema.d.ts.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +3 -14
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/EntityAddress.d.ts +11 -0
- package/dist/dts/EntityAddress.d.ts.map +1 -1
- package/dist/dts/EntityId.d.ts +5 -0
- package/dist/dts/EntityId.d.ts.map +1 -1
- package/dist/dts/EntityProxy.d.ts +5 -6
- package/dist/dts/EntityProxy.d.ts.map +1 -1
- package/dist/dts/HttpRunner.d.ts +48 -25
- package/dist/dts/HttpRunner.d.ts.map +1 -1
- package/dist/dts/MessageStorage.d.ts +13 -5
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/Runner.d.ts +4 -4
- package/dist/dts/Runner.d.ts.map +1 -1
- package/dist/dts/RunnerAddress.d.ts +5 -0
- package/dist/dts/RunnerAddress.d.ts.map +1 -1
- package/dist/dts/RunnerHealth.d.ts +24 -16
- package/dist/dts/RunnerHealth.d.ts.map +1 -1
- package/dist/dts/RunnerServer.d.ts +5 -4
- package/dist/dts/RunnerServer.d.ts.map +1 -1
- package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
- package/dist/dts/RunnerStorage.d.ts.map +1 -0
- package/dist/dts/Runners.d.ts +15 -11
- package/dist/dts/Runners.d.ts.map +1 -1
- package/dist/dts/ShardId.d.ts +1 -1
- package/dist/dts/ShardId.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +20 -10
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +40 -14
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/dts/SocketRunner.d.ts +4 -3
- package/dist/dts/SocketRunner.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +2 -3
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/dts/SqlRunnerStorage.d.ts +40 -0
- package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -24
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/ClusterError.js +0 -21
- package/dist/esm/ClusterError.js.map +1 -1
- package/dist/esm/ClusterMetrics.js +12 -14
- package/dist/esm/ClusterMetrics.js.map +1 -1
- package/dist/esm/ClusterSchema.js +17 -2
- package/dist/esm/ClusterSchema.js.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +50 -83
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +0 -12
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/EntityAddress.js +7 -0
- package/dist/esm/EntityAddress.js.map +1 -1
- package/dist/esm/EntityId.js +5 -0
- package/dist/esm/EntityId.js.map +1 -1
- package/dist/esm/EntityProxy.js +2 -2
- package/dist/esm/EntityProxy.js.map +1 -1
- package/dist/esm/HttpRunner.js +62 -39
- package/dist/esm/HttpRunner.js.map +1 -1
- package/dist/esm/MessageStorage.js +65 -17
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/Runner.js +3 -3
- package/dist/esm/Runner.js.map +1 -1
- package/dist/esm/RunnerAddress.js +7 -0
- package/dist/esm/RunnerAddress.js.map +1 -1
- package/dist/esm/RunnerHealth.js +88 -30
- package/dist/esm/RunnerHealth.js.map +1 -1
- package/dist/esm/RunnerServer.js +38 -24
- package/dist/esm/RunnerServer.js.map +1 -1
- package/dist/esm/RunnerStorage.js +90 -0
- package/dist/esm/RunnerStorage.js.map +1 -0
- package/dist/esm/Runners.js +19 -23
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/ShardId.js +16 -6
- package/dist/esm/ShardId.js.map +1 -1
- package/dist/esm/Sharding.js +447 -323
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +10 -14
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Snowflake.js +1 -1
- package/dist/esm/SocketRunner.js +1 -1
- package/dist/esm/SocketRunner.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +22 -28
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlRunnerStorage.js +366 -0
- package/dist/esm/SqlRunnerStorage.js.map +1 -0
- package/dist/esm/index.js +4 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/entityManager.js +41 -22
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +20 -60
- package/src/ClusterError.ts +0 -24
- package/src/ClusterMetrics.ts +12 -16
- package/src/ClusterSchema.ts +17 -2
- package/src/ClusterWorkflowEngine.ts +48 -80
- package/src/Entity.ts +3 -21
- package/src/EntityAddress.ts +10 -0
- package/src/EntityId.ts +6 -0
- package/src/EntityProxy.ts +10 -10
- package/src/HttpRunner.ts +132 -67
- package/src/MessageStorage.ts +89 -24
- package/src/Runner.ts +4 -4
- package/src/RunnerAddress.ts +8 -0
- package/src/RunnerHealth.ts +119 -56
- package/src/RunnerServer.ts +64 -47
- package/src/RunnerStorage.ts +218 -0
- package/src/Runners.ts +32 -45
- package/src/ShardId.ts +14 -3
- package/src/Sharding.ts +561 -417
- package/src/ShardingConfig.ts +39 -31
- package/src/Snowflake.ts +1 -1
- package/src/SocketRunner.ts +6 -4
- package/src/SqlMessageStorage.ts +28 -30
- package/src/SqlRunnerStorage.ts +537 -0
- package/src/index.ts +4 -29
- package/src/internal/entityManager.ts +45 -29
- package/HttpCommon/package.json +0 -6
- package/HttpShardManager/package.json +0 -6
- package/ShardManager/package.json +0 -6
- package/ShardStorage/package.json +0 -6
- package/SocketShardManager/package.json +0 -6
- package/SqlShardStorage/package.json +0 -6
- package/SynchronizedClock/package.json +0 -6
- package/dist/cjs/HttpCommon.js +0 -48
- package/dist/cjs/HttpCommon.js.map +0 -1
- package/dist/cjs/HttpShardManager.js +0 -139
- package/dist/cjs/HttpShardManager.js.map +0 -1
- package/dist/cjs/ShardManager.js +0 -549
- package/dist/cjs/ShardManager.js.map +0 -1
- package/dist/cjs/ShardStorage.js +0 -151
- package/dist/cjs/ShardStorage.js.map +0 -1
- package/dist/cjs/SocketShardManager.js +0 -32
- package/dist/cjs/SocketShardManager.js.map +0 -1
- package/dist/cjs/SqlShardStorage.js +0 -253
- package/dist/cjs/SqlShardStorage.js.map +0 -1
- package/dist/cjs/SynchronizedClock.js +0 -65
- package/dist/cjs/SynchronizedClock.js.map +0 -1
- package/dist/cjs/internal/shardManager.js +0 -353
- package/dist/cjs/internal/shardManager.js.map +0 -1
- package/dist/dts/HttpCommon.d.ts +0 -25
- package/dist/dts/HttpCommon.d.ts.map +0 -1
- package/dist/dts/HttpShardManager.d.ts +0 -119
- package/dist/dts/HttpShardManager.d.ts.map +0 -1
- package/dist/dts/ShardManager.d.ts +0 -459
- package/dist/dts/ShardManager.d.ts.map +0 -1
- package/dist/dts/ShardStorage.d.ts.map +0 -1
- package/dist/dts/SocketShardManager.d.ts +0 -17
- package/dist/dts/SocketShardManager.d.ts.map +0 -1
- package/dist/dts/SqlShardStorage.d.ts +0 -38
- package/dist/dts/SqlShardStorage.d.ts.map +0 -1
- package/dist/dts/SynchronizedClock.d.ts +0 -19
- package/dist/dts/SynchronizedClock.d.ts.map +0 -1
- package/dist/dts/internal/shardManager.d.ts +0 -2
- package/dist/dts/internal/shardManager.d.ts.map +0 -1
- package/dist/esm/HttpCommon.js +0 -38
- package/dist/esm/HttpCommon.js.map +0 -1
- package/dist/esm/HttpShardManager.js +0 -128
- package/dist/esm/HttpShardManager.js.map +0 -1
- package/dist/esm/ShardManager.js +0 -535
- package/dist/esm/ShardManager.js.map +0 -1
- package/dist/esm/ShardStorage.js +0 -141
- package/dist/esm/ShardStorage.js.map +0 -1
- package/dist/esm/SocketShardManager.js +0 -24
- package/dist/esm/SocketShardManager.js.map +0 -1
- package/dist/esm/SqlShardStorage.js +0 -244
- package/dist/esm/SqlShardStorage.js.map +0 -1
- package/dist/esm/SynchronizedClock.js +0 -57
- package/dist/esm/SynchronizedClock.js.map +0 -1
- package/dist/esm/internal/shardManager.js +0 -342
- package/dist/esm/internal/shardManager.js.map +0 -1
- package/src/HttpCommon.ts +0 -73
- package/src/HttpShardManager.ts +0 -273
- package/src/ShardManager.ts +0 -823
- package/src/ShardStorage.ts +0 -297
- package/src/SocketShardManager.ts +0 -48
- package/src/SqlShardStorage.ts +0 -329
- package/src/SynchronizedClock.ts +0 -82
- package/src/internal/shardManager.ts +0 -412
|
@@ -1,28 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { type NonEmptyArray } from "effect/Array";
|
|
1
5
|
import * as Context from "effect/Context";
|
|
2
6
|
import * as Effect from "effect/Effect";
|
|
3
7
|
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Option from "effect/Option";
|
|
5
8
|
import type { PersistenceError } from "./ClusterError.js";
|
|
9
|
+
import * as MachineId from "./MachineId.js";
|
|
6
10
|
import { Runner } from "./Runner.js";
|
|
7
|
-
import { RunnerAddress } from "./RunnerAddress.js";
|
|
11
|
+
import type { RunnerAddress } from "./RunnerAddress.js";
|
|
8
12
|
import { ShardId } from "./ShardId.js";
|
|
9
|
-
declare const
|
|
13
|
+
declare const RunnerStorage_base: Context.TagClass<RunnerStorage, "@effect/cluster/RunnerStorage", {
|
|
10
14
|
/**
|
|
11
|
-
*
|
|
15
|
+
* Register a new runner with the cluster.
|
|
12
16
|
*/
|
|
13
|
-
readonly
|
|
17
|
+
readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
|
|
14
18
|
/**
|
|
15
|
-
*
|
|
19
|
+
* Unregister the runner with the given address.
|
|
16
20
|
*/
|
|
17
|
-
readonly
|
|
21
|
+
readonly unregister: (address: RunnerAddress) => Effect.Effect<void, PersistenceError>;
|
|
18
22
|
/**
|
|
19
23
|
* Get all runners registered with the cluster.
|
|
20
24
|
*/
|
|
21
|
-
readonly getRunners: Effect.Effect<Array<[
|
|
25
|
+
readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
|
|
22
26
|
/**
|
|
23
|
-
*
|
|
27
|
+
* Set the health status of the given runner.
|
|
24
28
|
*/
|
|
25
|
-
readonly
|
|
29
|
+
readonly setRunnerHealth: (address: RunnerAddress, healthy: boolean) => Effect.Effect<void, PersistenceError>;
|
|
26
30
|
/**
|
|
27
31
|
* Try to acquire the given shard ids for processing.
|
|
28
32
|
*
|
|
@@ -31,9 +35,6 @@ declare const ShardStorage_base: Context.TagClass<ShardStorage, "@effect/cluster
|
|
|
31
35
|
readonly acquire: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
32
36
|
/**
|
|
33
37
|
* Refresh the locks owned by the given runner.
|
|
34
|
-
*
|
|
35
|
-
* Locks expire after 15 seconds, so this method should be called every 10
|
|
36
|
-
* seconds to keep the locks alive.
|
|
37
38
|
*/
|
|
38
39
|
readonly refresh: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
39
40
|
/**
|
|
@@ -52,7 +53,7 @@ declare const ShardStorage_base: Context.TagClass<ShardStorage, "@effect/cluster
|
|
|
52
53
|
* @since 1.0.0
|
|
53
54
|
* @category models
|
|
54
55
|
*/
|
|
55
|
-
export declare class
|
|
56
|
+
export declare class RunnerStorage extends RunnerStorage_base {
|
|
56
57
|
}
|
|
57
58
|
/**
|
|
58
59
|
* @since 1.0.0
|
|
@@ -60,34 +61,31 @@ export declare class ShardStorage extends ShardStorage_base {
|
|
|
60
61
|
*/
|
|
61
62
|
export interface Encoded {
|
|
62
63
|
/**
|
|
63
|
-
* Get
|
|
64
|
+
* Get all runners registered with the cluster.
|
|
64
65
|
*/
|
|
65
|
-
readonly
|
|
66
|
-
shardId: string,
|
|
67
|
-
runnerAddress: string | null
|
|
68
|
-
]>, PersistenceError>;
|
|
66
|
+
readonly getRunners: Effect.Effect<Array<readonly [runner: string, healthy: boolean]>, PersistenceError>;
|
|
69
67
|
/**
|
|
70
|
-
*
|
|
68
|
+
* Register a new runner with the cluster.
|
|
71
69
|
*/
|
|
72
|
-
readonly
|
|
70
|
+
readonly register: (address: string, runner: string, healthy: boolean) => Effect.Effect<number, PersistenceError>;
|
|
73
71
|
/**
|
|
74
|
-
*
|
|
72
|
+
* Unregister the runner with the given address.
|
|
75
73
|
*/
|
|
76
|
-
readonly
|
|
74
|
+
readonly unregister: (address: string) => Effect.Effect<void, PersistenceError>;
|
|
77
75
|
/**
|
|
78
|
-
*
|
|
76
|
+
* Set the health status of the given runner.
|
|
79
77
|
*/
|
|
80
|
-
readonly
|
|
78
|
+
readonly setRunnerHealth: (address: string, healthy: boolean) => Effect.Effect<void, PersistenceError>;
|
|
81
79
|
/**
|
|
82
80
|
* Acquire the lock on the given shards, returning the shards that were
|
|
83
81
|
* successfully locked.
|
|
84
82
|
*/
|
|
85
|
-
readonly acquire: (address: string, shardIds:
|
|
83
|
+
readonly acquire: (address: string, shardIds: NonEmptyArray<string>) => Effect.Effect<Array<string>, PersistenceError>;
|
|
86
84
|
/**
|
|
87
85
|
* Refresh the lock on the given shards, returning the shards that were
|
|
88
86
|
* successfully locked.
|
|
89
87
|
*/
|
|
90
|
-
readonly refresh: (address: string, shardIds:
|
|
88
|
+
readonly refresh: (address: string, shardIds: Array<string>) => Effect.Effect<ReadonlyArray<string>, PersistenceError>;
|
|
91
89
|
/**
|
|
92
90
|
* Release the lock on the given shard.
|
|
93
91
|
*/
|
|
@@ -103,21 +101,21 @@ export interface Encoded {
|
|
|
103
101
|
*/
|
|
104
102
|
export declare const makeEncoded: (encoded: Encoded) => {
|
|
105
103
|
/**
|
|
106
|
-
*
|
|
104
|
+
* Register a new runner with the cluster.
|
|
107
105
|
*/
|
|
108
|
-
readonly
|
|
106
|
+
readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
|
|
109
107
|
/**
|
|
110
|
-
*
|
|
108
|
+
* Unregister the runner with the given address.
|
|
111
109
|
*/
|
|
112
|
-
readonly
|
|
110
|
+
readonly unregister: (address: RunnerAddress) => Effect.Effect<void, PersistenceError>;
|
|
113
111
|
/**
|
|
114
112
|
* Get all runners registered with the cluster.
|
|
115
113
|
*/
|
|
116
|
-
readonly getRunners: Effect.Effect<Array<[
|
|
114
|
+
readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
|
|
117
115
|
/**
|
|
118
|
-
*
|
|
116
|
+
* Set the health status of the given runner.
|
|
119
117
|
*/
|
|
120
|
-
readonly
|
|
118
|
+
readonly setRunnerHealth: (address: RunnerAddress, healthy: boolean) => Effect.Effect<void, PersistenceError>;
|
|
121
119
|
/**
|
|
122
120
|
* Try to acquire the given shard ids for processing.
|
|
123
121
|
*
|
|
@@ -126,9 +124,6 @@ export declare const makeEncoded: (encoded: Encoded) => {
|
|
|
126
124
|
readonly acquire: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
127
125
|
/**
|
|
128
126
|
* Refresh the locks owned by the given runner.
|
|
129
|
-
*
|
|
130
|
-
* Locks expire after 15 seconds, so this method should be called every 10
|
|
131
|
-
* seconds to keep the locks alive.
|
|
132
127
|
*/
|
|
133
128
|
readonly refresh: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
134
129
|
/**
|
|
@@ -140,32 +135,27 @@ export declare const makeEncoded: (encoded: Encoded) => {
|
|
|
140
135
|
*/
|
|
141
136
|
readonly releaseAll: (address: RunnerAddress) => Effect.Effect<void, PersistenceError>;
|
|
142
137
|
};
|
|
143
|
-
/**
|
|
144
|
-
* @since 1.0.0
|
|
145
|
-
* @category layers
|
|
146
|
-
*/
|
|
147
|
-
export declare const layerNoop: Layer.Layer<ShardStorage>;
|
|
148
138
|
/**
|
|
149
139
|
* @since 1.0.0
|
|
150
140
|
* @category constructors
|
|
151
141
|
*/
|
|
152
142
|
export declare const makeMemory: Effect.Effect<{
|
|
153
143
|
/**
|
|
154
|
-
*
|
|
144
|
+
* Register a new runner with the cluster.
|
|
155
145
|
*/
|
|
156
|
-
readonly
|
|
146
|
+
readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
|
|
157
147
|
/**
|
|
158
|
-
*
|
|
148
|
+
* Unregister the runner with the given address.
|
|
159
149
|
*/
|
|
160
|
-
readonly
|
|
150
|
+
readonly unregister: (address: RunnerAddress) => Effect.Effect<void, PersistenceError>;
|
|
161
151
|
/**
|
|
162
152
|
* Get all runners registered with the cluster.
|
|
163
153
|
*/
|
|
164
|
-
readonly getRunners: Effect.Effect<Array<[
|
|
154
|
+
readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
|
|
165
155
|
/**
|
|
166
|
-
*
|
|
156
|
+
* Set the health status of the given runner.
|
|
167
157
|
*/
|
|
168
|
-
readonly
|
|
158
|
+
readonly setRunnerHealth: (address: RunnerAddress, healthy: boolean) => Effect.Effect<void, PersistenceError>;
|
|
169
159
|
/**
|
|
170
160
|
* Try to acquire the given shard ids for processing.
|
|
171
161
|
*
|
|
@@ -174,9 +164,6 @@ export declare const makeMemory: Effect.Effect<{
|
|
|
174
164
|
readonly acquire: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
175
165
|
/**
|
|
176
166
|
* Refresh the locks owned by the given runner.
|
|
177
|
-
*
|
|
178
|
-
* Locks expire after 15 seconds, so this method should be called every 10
|
|
179
|
-
* seconds to keep the locks alive.
|
|
180
167
|
*/
|
|
181
168
|
readonly refresh: (address: RunnerAddress, shardIds: Iterable<ShardId>) => Effect.Effect<Array<ShardId>, PersistenceError>;
|
|
182
169
|
/**
|
|
@@ -192,6 +179,6 @@ export declare const makeMemory: Effect.Effect<{
|
|
|
192
179
|
* @since 1.0.0
|
|
193
180
|
* @category layers
|
|
194
181
|
*/
|
|
195
|
-
export declare const layerMemory: Layer.Layer<
|
|
182
|
+
export declare const layerMemory: Layer.Layer<RunnerStorage>;
|
|
196
183
|
export {};
|
|
197
|
-
//# sourceMappingURL=
|
|
184
|
+
//# sourceMappingURL=RunnerStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunnerStorage.d.ts","sourceRoot":"","sources":["../../src/RunnerStorage.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/Runners.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import * as Schema from "effect/Schema";
|
|
14
14
|
import type { Scope } from "effect/Scope";
|
|
15
15
|
import type { PersistenceError } from "./ClusterError.js";
|
|
16
|
-
import { AlreadyProcessingMessage, EntityNotAssignedToRunner,
|
|
16
|
+
import { AlreadyProcessingMessage, EntityNotAssignedToRunner, MailboxFull, RunnerUnavailable } from "./ClusterError.js";
|
|
17
17
|
import * as Envelope from "./Envelope.js";
|
|
18
18
|
import * as Message from "./Message.js";
|
|
19
19
|
import * as MessageStorage from "./MessageStorage.js";
|
|
@@ -34,16 +34,16 @@ declare const Runners_base: Context.TagClass<Runners, "@effect/cluster/Runners",
|
|
|
34
34
|
*/
|
|
35
35
|
readonly sendLocal: <R extends Rpc.Any>(options: {
|
|
36
36
|
readonly message: Message.Outgoing<R>;
|
|
37
|
-
readonly send: <Rpc extends Rpc.Any>(message: Message.IncomingLocal<Rpc>) => Effect.Effect<void,
|
|
37
|
+
readonly send: <Rpc extends Rpc.Any>(message: Message.IncomingLocal<Rpc>) => Effect.Effect<void, EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage>;
|
|
38
38
|
readonly simulateRemoteSerialization: boolean;
|
|
39
|
-
}) => Effect.Effect<void,
|
|
39
|
+
}) => Effect.Effect<void, EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage | PersistenceError>;
|
|
40
40
|
/**
|
|
41
41
|
* Send a message to a Runner.
|
|
42
42
|
*/
|
|
43
43
|
readonly send: <R extends Rpc.Any>(options: {
|
|
44
44
|
readonly address: RunnerAddress;
|
|
45
45
|
readonly message: Message.Outgoing<R>;
|
|
46
|
-
}) => Effect.Effect<void,
|
|
46
|
+
}) => Effect.Effect<void, EntityNotAssignedToRunner | RunnerUnavailable | MailboxFull | AlreadyProcessingMessage | PersistenceError>;
|
|
47
47
|
/**
|
|
48
48
|
* Notify a Runner that a message is available, then read replies from storage.
|
|
49
49
|
*/
|
|
@@ -51,7 +51,7 @@ declare const Runners_base: Context.TagClass<Runners, "@effect/cluster/Runners",
|
|
|
51
51
|
readonly address: Option.Option<RunnerAddress>;
|
|
52
52
|
readonly message: Message.Outgoing<R>;
|
|
53
53
|
readonly discard: boolean;
|
|
54
|
-
}) => Effect.Effect<void,
|
|
54
|
+
}) => Effect.Effect<void, PersistenceError>;
|
|
55
55
|
/**
|
|
56
56
|
* Notify the current Runner that a message is available, then read replies from
|
|
57
57
|
* storage.
|
|
@@ -61,10 +61,14 @@ declare const Runners_base: Context.TagClass<Runners, "@effect/cluster/Runners",
|
|
|
61
61
|
*/
|
|
62
62
|
readonly notifyLocal: <R extends Rpc.Any>(options: {
|
|
63
63
|
readonly message: Message.Outgoing<R>;
|
|
64
|
-
readonly notify: (options: Message.IncomingLocal<any>) => Effect.Effect<void,
|
|
64
|
+
readonly notify: (options: Message.IncomingLocal<any>) => Effect.Effect<void, EntityNotAssignedToRunner>;
|
|
65
65
|
readonly discard: boolean;
|
|
66
66
|
readonly storageOnly?: boolean | undefined;
|
|
67
|
-
}) => Effect.Effect<void,
|
|
67
|
+
}) => Effect.Effect<void, PersistenceError>;
|
|
68
|
+
/**
|
|
69
|
+
* Mark a Runner as unavailable.
|
|
70
|
+
*/
|
|
71
|
+
readonly onRunnerUnavailable: (address: RunnerAddress) => Effect.Effect<void>;
|
|
68
72
|
}>;
|
|
69
73
|
/**
|
|
70
74
|
* @since 1.0.0
|
|
@@ -99,7 +103,7 @@ declare const Rpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Ping", typeof Schema.Void, t
|
|
|
99
103
|
spanId: Schema.optional<typeof Schema.String>;
|
|
100
104
|
sampled: Schema.optional<typeof Schema.Boolean>;
|
|
101
105
|
}>, typeof Envelope.AckChunk, typeof Envelope.Interrupt]>;
|
|
102
|
-
}>, typeof Schema.Void, Schema.Union<[typeof
|
|
106
|
+
}>, typeof Schema.Void, Schema.Union<[typeof EntityNotAssignedToRunner, typeof AlreadyProcessingMessage]>, never> | Rpc.Rpc<"Effect", Schema.Struct<{
|
|
103
107
|
request: Schema.Struct<{
|
|
104
108
|
_tag: Schema.Literal<["Request"]>;
|
|
105
109
|
requestId: Schema.Schema<Snowflake.Snowflake, string>;
|
|
@@ -112,7 +116,7 @@ declare const Rpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Ping", typeof Schema.Void, t
|
|
|
112
116
|
sampled: Schema.optional<typeof Schema.Boolean>;
|
|
113
117
|
}>;
|
|
114
118
|
persisted: typeof Schema.Boolean;
|
|
115
|
-
}>, Schema.Schema<Reply.ReplyEncoded<any>, Reply.ReplyEncoded<any>, never>, Schema.Union<[typeof
|
|
119
|
+
}>, Schema.Schema<Reply.ReplyEncoded<any>, Reply.ReplyEncoded<any>, never>, Schema.Union<[typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>, never> | Rpc.Rpc<"Stream", Schema.Struct<{
|
|
116
120
|
request: Schema.Struct<{
|
|
117
121
|
_tag: Schema.Literal<["Request"]>;
|
|
118
122
|
requestId: Schema.Schema<Snowflake.Snowflake, string>;
|
|
@@ -125,10 +129,10 @@ declare const Rpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Ping", typeof Schema.Void, t
|
|
|
125
129
|
sampled: Schema.optional<typeof Schema.Boolean>;
|
|
126
130
|
}>;
|
|
127
131
|
persisted: typeof Schema.Boolean;
|
|
128
|
-
}>, RpcSchema.Stream<Schema.Schema<Reply.ReplyEncoded<any>, Reply.ReplyEncoded<any>, never>, Schema.Union<[typeof
|
|
132
|
+
}>, RpcSchema.Stream<Schema.Schema<Reply.ReplyEncoded<any>, Reply.ReplyEncoded<any>, never>, Schema.Union<[typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>>, typeof Schema.Never, never> | Rpc.Rpc<"Envelope", Schema.Struct<{
|
|
129
133
|
envelope: Schema.Union<[typeof Envelope.AckChunk, typeof Envelope.Interrupt]>;
|
|
130
134
|
persisted: typeof Schema.Boolean;
|
|
131
|
-
}>, typeof Schema.Void, Schema.Union<[typeof
|
|
135
|
+
}>, typeof Schema.Void, Schema.Union<[typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>, never>>;
|
|
132
136
|
/**
|
|
133
137
|
* @since 1.0.0
|
|
134
138
|
* @category Rpcs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runners.d.ts","sourceRoot":"","sources":["../../src/Runners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"Runners.d.ts","sourceRoot":"","sources":["../../src/Runners.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/ShardId.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardId.d.ts","sourceRoot":"","sources":["../../src/ShardId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA8C,CAAA;AAE1E;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAIlC;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,EAAE,IAAI,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"ShardId.d.ts","sourceRoot":"","sources":["../../src/ShardId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA8C,CAAA;AAE1E;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAIlC;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,EAAE,IAAI,MAAM,KAAG,OAQhD,CAAA;;;;;;;;;;;;AAID;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAG3B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAU;IAEnC;;OAEG;IACH,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAItC;;OAEG;IACH,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM;IAIvB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KACpB,GAAG,MAAM;IAIV;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KACpB;IAaD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;CAItC"}
|
package/dist/dts/Sharding.d.ts
CHANGED
|
@@ -11,17 +11,17 @@ import * as Schedule from "effect/Schedule";
|
|
|
11
11
|
import * as Scope from "effect/Scope";
|
|
12
12
|
import * as Stream from "effect/Stream";
|
|
13
13
|
import type { MailboxFull, PersistenceError } from "./ClusterError.js";
|
|
14
|
-
import { AlreadyProcessingMessage, EntityNotAssignedToRunner
|
|
14
|
+
import { AlreadyProcessingMessage, EntityNotAssignedToRunner } from "./ClusterError.js";
|
|
15
15
|
import type { CurrentAddress, CurrentRunnerAddress, Entity, HandlersFrom } from "./Entity.js";
|
|
16
|
-
import { EntityId } from "./EntityId.js";
|
|
16
|
+
import type { EntityId } from "./EntityId.js";
|
|
17
17
|
import * as Message from "./Message.js";
|
|
18
18
|
import * as MessageStorage from "./MessageStorage.js";
|
|
19
|
+
import * as RunnerHealth from "./RunnerHealth.js";
|
|
19
20
|
import { Runners } from "./Runners.js";
|
|
20
|
-
import {
|
|
21
|
+
import { RunnerStorage } from "./RunnerStorage.js";
|
|
22
|
+
import type { ShardId } from "./ShardId.js";
|
|
21
23
|
import { ShardingConfig } from "./ShardingConfig.js";
|
|
22
24
|
import { type ShardingRegistrationEvent } from "./ShardingRegistrationEvent.js";
|
|
23
|
-
import { ShardManagerClient } from "./ShardManager.js";
|
|
24
|
-
import { ShardStorage } from "./ShardStorage.js";
|
|
25
25
|
import * as Snowflake from "./Snowflake.js";
|
|
26
26
|
declare const Sharding_base: Context.TagClass<Sharding, "@effect/cluster/Sharding", {
|
|
27
27
|
/**
|
|
@@ -34,6 +34,14 @@ declare const Sharding_base: Context.TagClass<Sharding, "@effect/cluster/Shardin
|
|
|
34
34
|
* `address` is assigned.
|
|
35
35
|
*/
|
|
36
36
|
readonly getShardId: (entityId: EntityId, group: string) => ShardId;
|
|
37
|
+
/**
|
|
38
|
+
* Returns `true` if the specified `shardId` is assigned to this runner.
|
|
39
|
+
*/
|
|
40
|
+
readonly hasShardId: (shardId: ShardId) => boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Generate a Snowflake ID that is unique to this runner.
|
|
43
|
+
*/
|
|
44
|
+
readonly getSnowflake: Effect.Effect<Snowflake.Snowflake>;
|
|
37
45
|
/**
|
|
38
46
|
* Returns `true` if sharding is shutting down, `false` otherwise.
|
|
39
47
|
*/
|
|
@@ -42,7 +50,7 @@ declare const Sharding_base: Context.TagClass<Sharding, "@effect/cluster/Shardin
|
|
|
42
50
|
* Constructs a `RpcClient` which can be used to send messages to the
|
|
43
51
|
* specified `Entity`.
|
|
44
52
|
*/
|
|
45
|
-
readonly makeClient: <Type extends string, Rpcs extends Rpc.Any>(entity: Entity<Type, Rpcs>) => Effect.Effect<(entityId: string) => RpcClient.RpcClient.From<Rpcs, MailboxFull | AlreadyProcessingMessage | PersistenceError
|
|
53
|
+
readonly makeClient: <Type extends string, Rpcs extends Rpc.Any>(entity: Entity<Type, Rpcs>) => Effect.Effect<(entityId: string) => RpcClient.RpcClient.From<Rpcs, MailboxFull | AlreadyProcessingMessage | PersistenceError>>;
|
|
46
54
|
/**
|
|
47
55
|
* Registers a new entity with the runner.
|
|
48
56
|
*/
|
|
@@ -63,15 +71,17 @@ declare const Sharding_base: Context.TagClass<Sharding, "@effect/cluster/Shardin
|
|
|
63
71
|
/**
|
|
64
72
|
* Sends a message to the specified entity.
|
|
65
73
|
*/
|
|
66
|
-
readonly send: (message: Message.Incoming<any>) => Effect.Effect<void,
|
|
74
|
+
readonly send: (message: Message.Incoming<any>) => Effect.Effect<void, EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage>;
|
|
67
75
|
/**
|
|
68
76
|
* Sends an outgoing message
|
|
69
77
|
*/
|
|
70
|
-
readonly sendOutgoing: (message: Message.Outgoing<any>, discard: boolean) => Effect.Effect<void,
|
|
78
|
+
readonly sendOutgoing: (message: Message.Outgoing<any>, discard: boolean) => Effect.Effect<void, MailboxFull | AlreadyProcessingMessage | PersistenceError>;
|
|
71
79
|
/**
|
|
72
80
|
* Notify sharding that a message has been persisted to storage.
|
|
73
81
|
*/
|
|
74
|
-
readonly notify: (message: Message.Incoming<any
|
|
82
|
+
readonly notify: (message: Message.Incoming<any>, options?: {
|
|
83
|
+
readonly waitUntilRead?: boolean | undefined;
|
|
84
|
+
}) => Effect.Effect<void, EntityNotAssignedToRunner | AlreadyProcessingMessage>;
|
|
75
85
|
/**
|
|
76
86
|
* Reset the state of a message
|
|
77
87
|
*/
|
|
@@ -95,6 +105,6 @@ export declare class Sharding extends Sharding_base {
|
|
|
95
105
|
* @since 1.0.0
|
|
96
106
|
* @category layers
|
|
97
107
|
*/
|
|
98
|
-
export declare const layer: Layer.Layer<Sharding, never, ShardingConfig | Runners |
|
|
108
|
+
export declare const layer: Layer.Layer<Sharding, never, ShardingConfig | Runners | MessageStorage.MessageStorage | RunnerStorage | RunnerHealth.RunnerHealth>;
|
|
99
109
|
export {};
|
|
100
110
|
//# sourceMappingURL=Sharding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAIlD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,15 @@ declare const ShardingConfig_base: Context.TagClass<ShardingConfig, "@effect/clu
|
|
|
25
25
|
*/
|
|
26
26
|
readonly runnerListenAddress: Option.Option<RunnerAddress>;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* A number that determines how many shards this runner will be assigned
|
|
29
|
+
* relative to other runners.
|
|
30
|
+
*
|
|
31
|
+
* Defaults to `1`.
|
|
32
|
+
*
|
|
33
|
+
* A value of `2` means that this runner should be assigned twice as many
|
|
34
|
+
* shards as a runner with a weight of `1`.
|
|
29
35
|
*/
|
|
30
|
-
readonly
|
|
36
|
+
readonly runnerShardWeight: number;
|
|
31
37
|
/**
|
|
32
38
|
* The shard groups that are assigned to this runner.
|
|
33
39
|
*
|
|
@@ -41,14 +47,13 @@ declare const ShardingConfig_base: Context.TagClass<ShardingConfig, "@effect/clu
|
|
|
41
47
|
*/
|
|
42
48
|
readonly shardsPerGroup: number;
|
|
43
49
|
/**
|
|
44
|
-
*
|
|
50
|
+
* Shard lock refresh interval.
|
|
45
51
|
*/
|
|
46
|
-
readonly
|
|
52
|
+
readonly shardLockRefreshInterval: DurationInput;
|
|
47
53
|
/**
|
|
48
|
-
*
|
|
49
|
-
* assignments will be reset.
|
|
54
|
+
* Shard lock expiration duration.
|
|
50
55
|
*/
|
|
51
|
-
readonly
|
|
56
|
+
readonly shardLockExpiration: DurationInput;
|
|
52
57
|
/**
|
|
53
58
|
* The default capacity of the mailbox for entities.
|
|
54
59
|
*/
|
|
@@ -72,11 +77,19 @@ declare const ShardingConfig_base: Context.TagClass<ShardingConfig, "@effect/clu
|
|
|
72
77
|
* The interval at which to poll for client replies from storage.
|
|
73
78
|
*/
|
|
74
79
|
readonly entityReplyPollInterval: DurationInput;
|
|
80
|
+
/**
|
|
81
|
+
* The interval at which to poll for new runners and refresh shard
|
|
82
|
+
* assignments.
|
|
83
|
+
*/
|
|
75
84
|
readonly refreshAssignmentsInterval: DurationInput;
|
|
76
85
|
/**
|
|
77
86
|
* The interval to retry a send if EntityNotAssignedToRunner is returned.
|
|
78
87
|
*/
|
|
79
88
|
readonly sendRetryInterval: DurationInput;
|
|
89
|
+
/**
|
|
90
|
+
* The interval at which to check for unhealthy runners and report them
|
|
91
|
+
*/
|
|
92
|
+
readonly runnerHealthCheckInterval: DurationInput;
|
|
80
93
|
/**
|
|
81
94
|
* Simulate serialization and deserialization to remote runners for local
|
|
82
95
|
* entities.
|
|
@@ -131,9 +144,15 @@ export declare const configFromEnv: Effect.Effect<{
|
|
|
131
144
|
*/
|
|
132
145
|
readonly runnerListenAddress: Option.Option<RunnerAddress>;
|
|
133
146
|
/**
|
|
134
|
-
*
|
|
147
|
+
* A number that determines how many shards this runner will be assigned
|
|
148
|
+
* relative to other runners.
|
|
149
|
+
*
|
|
150
|
+
* Defaults to `1`.
|
|
151
|
+
*
|
|
152
|
+
* A value of `2` means that this runner should be assigned twice as many
|
|
153
|
+
* shards as a runner with a weight of `1`.
|
|
135
154
|
*/
|
|
136
|
-
readonly
|
|
155
|
+
readonly runnerShardWeight: number;
|
|
137
156
|
/**
|
|
138
157
|
* The shard groups that are assigned to this runner.
|
|
139
158
|
*
|
|
@@ -147,14 +166,13 @@ export declare const configFromEnv: Effect.Effect<{
|
|
|
147
166
|
*/
|
|
148
167
|
readonly shardsPerGroup: number;
|
|
149
168
|
/**
|
|
150
|
-
*
|
|
169
|
+
* Shard lock refresh interval.
|
|
151
170
|
*/
|
|
152
|
-
readonly
|
|
171
|
+
readonly shardLockRefreshInterval: DurationInput;
|
|
153
172
|
/**
|
|
154
|
-
*
|
|
155
|
-
* assignments will be reset.
|
|
173
|
+
* Shard lock expiration duration.
|
|
156
174
|
*/
|
|
157
|
-
readonly
|
|
175
|
+
readonly shardLockExpiration: DurationInput;
|
|
158
176
|
/**
|
|
159
177
|
* The default capacity of the mailbox for entities.
|
|
160
178
|
*/
|
|
@@ -178,11 +196,19 @@ export declare const configFromEnv: Effect.Effect<{
|
|
|
178
196
|
* The interval at which to poll for client replies from storage.
|
|
179
197
|
*/
|
|
180
198
|
readonly entityReplyPollInterval: DurationInput;
|
|
199
|
+
/**
|
|
200
|
+
* The interval at which to poll for new runners and refresh shard
|
|
201
|
+
* assignments.
|
|
202
|
+
*/
|
|
181
203
|
readonly refreshAssignmentsInterval: DurationInput;
|
|
182
204
|
/**
|
|
183
205
|
* The interval to retry a send if EntityNotAssignedToRunner is returned.
|
|
184
206
|
*/
|
|
185
207
|
readonly sendRetryInterval: DurationInput;
|
|
208
|
+
/**
|
|
209
|
+
* The interval at which to check for unhealthy runners and report them
|
|
210
|
+
*/
|
|
211
|
+
readonly runnerHealthCheckInterval: DurationInput;
|
|
186
212
|
/**
|
|
187
213
|
* Simulate serialization and deserialization to remote runners for local
|
|
188
214
|
* entities.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../src/ShardingConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;;IAShD;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D
|
|
1
|
+
{"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../src/ShardingConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;;IAShD;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,aAAa;IAChD;;OAEG;kCAC2B,aAAa;IAC3C;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;IAC/C;;;OAGG;yCACkC,aAAa;IAClD;;OAEG;gCACyB,aAAa;IACzC;;OAEG;wCACiC,aAAa;IACjD;;;OAGG;0CACmC,OAAO;;AA3F/C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAsFhC;CAAG;AAIP;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,MAAM,CAiB3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAChC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAW,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CA6EvD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa;IApNxB;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,aAAa;IAChD;;OAEG;kCAC2B,aAAa;IAC3C;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;IAC/C;;;OAGG;yCACkC,aAAa;IAClD;;OAEG;gCACyB,aAAa;IACzC;;OAEG;wCACiC,aAAa;IACjD;;;OAGG;0CACmC,OAAO;sBAsI9C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,KAAG,KAAK,CAAC,KAAK,CAC9F,cAAc,EACd,WAAW,CAKV,CAAA"}
|
|
@@ -5,18 +5,19 @@ import { SocketServer } from "@effect/platform/SocketServer";
|
|
|
5
5
|
import type * as RpcSerialization from "@effect/rpc/RpcSerialization";
|
|
6
6
|
import * as Layer from "effect/Layer";
|
|
7
7
|
import type { MessageStorage } from "./MessageStorage.js";
|
|
8
|
+
import type { RunnerHealth } from "./RunnerHealth.js";
|
|
8
9
|
import type * as Runners from "./Runners.js";
|
|
10
|
+
import type * as RunnerStorage from "./RunnerStorage.js";
|
|
9
11
|
import type * as Sharding from "./Sharding.js";
|
|
10
12
|
import type { ShardingConfig } from "./ShardingConfig.js";
|
|
11
|
-
import type * as ShardStorage from "./ShardStorage.js";
|
|
12
13
|
/**
|
|
13
14
|
* @since 1.0.0
|
|
14
15
|
* @category Layers
|
|
15
16
|
*/
|
|
16
|
-
export declare const layer: Layer.Layer<Sharding.Sharding | Runners.Runners, never, Runners.RpcClientProtocol | ShardingConfig | RpcSerialization.RpcSerialization | SocketServer | MessageStorage |
|
|
17
|
+
export declare const layer: Layer.Layer<Sharding.Sharding | Runners.Runners, never, Runners.RpcClientProtocol | ShardingConfig | RpcSerialization.RpcSerialization | SocketServer | MessageStorage | RunnerStorage.RunnerStorage | RunnerHealth>;
|
|
17
18
|
/**
|
|
18
19
|
* @since 1.0.0
|
|
19
20
|
* @category Layers
|
|
20
21
|
*/
|
|
21
|
-
export declare const layerClientOnly: Layer.Layer<Sharding.Sharding | Runners.Runners, never, Runners.RpcClientProtocol | ShardingConfig | MessageStorage>;
|
|
22
|
+
export declare const layerClientOnly: Layer.Layer<Sharding.Sharding | Runners.Runners, never, Runners.RpcClientProtocol | ShardingConfig | MessageStorage | RunnerStorage.RunnerStorage>;
|
|
22
23
|
//# sourceMappingURL=SocketRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketRunner.d.ts","sourceRoot":"","sources":["../../src/SocketRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,KAAK,gBAAgB,MAAM,8BAA8B,CAAA;AAGrE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAE5C,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"SocketRunner.d.ts","sourceRoot":"","sources":["../../src/SocketRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,KAAK,gBAAgB,MAAM,8BAA8B,CAAA;AAGrE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAE5C,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAczD;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,EACnC,KAAK,EACH,OAAO,CAAC,iBAAiB,GACzB,cAAc,GACd,gBAAgB,CAAC,gBAAgB,GACjC,YAAY,GACZ,cAAc,GACd,aAAa,CAAC,aAAa,GAC3B,YAAY,CAIf,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CACvC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,EACnC,KAAK,EACL,OAAO,CAAC,iBAAiB,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC,aAAa,CAC3D,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as SqlClient from "@effect/sql/SqlClient";
|
|
2
|
-
import type { DurationInput } from "effect/Duration";
|
|
3
2
|
import * as Effect from "effect/Effect";
|
|
4
3
|
import * as Layer from "effect/Layer";
|
|
5
4
|
import * as Option from "effect/Option";
|
|
@@ -27,8 +26,9 @@ export declare const make: (options?: {
|
|
|
27
26
|
readonly tag: string;
|
|
28
27
|
readonly id: string;
|
|
29
28
|
}) => Effect.Effect<Option.Option<Snowflake.Snowflake>, PersistenceError>;
|
|
30
|
-
readonly registerReplyHandler: <R extends import("@effect/rpc/Rpc").Any>(message: import("./Message.js").OutgoingRequest<R> | import("./Message.js").IncomingRequest<R
|
|
29
|
+
readonly registerReplyHandler: <R extends import("@effect/rpc/Rpc").Any>(message: import("./Message.js").OutgoingRequest<R> | import("./Message.js").IncomingRequest<R>) => Effect.Effect<void, import("./ClusterError.js").EntityNotAssignedToRunner>;
|
|
31
30
|
readonly unregisterReplyHandler: (requestId: Snowflake.Snowflake) => Effect.Effect<void>;
|
|
31
|
+
readonly unregisterShardReplyHandlers: (shardId: ShardId) => Effect.Effect<void>;
|
|
32
32
|
readonly unprocessedMessages: (shardIds: Iterable<ShardId>) => Effect.Effect<Array<import("./Message.js").Incoming<any>>, PersistenceError>;
|
|
33
33
|
readonly unprocessedMessagesById: <R extends import("@effect/rpc/Rpc").Any>(messageIds: Iterable<Snowflake.Snowflake>) => Effect.Effect<Array<import("./Message.js").Incoming<R>>, PersistenceError>;
|
|
34
34
|
readonly resetShards: (shardIds: Iterable<ShardId>) => Effect.Effect<void, PersistenceError>;
|
|
@@ -46,6 +46,5 @@ export declare const layer: Layer.Layer<MessageStorage.MessageStorage, never, Sq
|
|
|
46
46
|
*/
|
|
47
47
|
export declare const layerWith: (options: {
|
|
48
48
|
readonly prefix?: string | undefined;
|
|
49
|
-
readonly replyPollInterval?: DurationInput | undefined;
|
|
50
49
|
}) => Layer.Layer<MessageStorage.MessageStorage, never, SqlClient.SqlClient | ShardingConfig>;
|
|
51
50
|
//# sourceMappingURL=SqlMessageStorage.d.ts.map
|