@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.
Files changed (232) hide show
  1. package/RunnerStorage/package.json +6 -0
  2. package/SqlRunnerStorage/package.json +6 -0
  3. package/dist/cjs/ClusterError.js +2 -24
  4. package/dist/cjs/ClusterError.js.map +1 -1
  5. package/dist/cjs/ClusterMetrics.js +13 -15
  6. package/dist/cjs/ClusterMetrics.js.map +1 -1
  7. package/dist/cjs/ClusterSchema.js +17 -2
  8. package/dist/cjs/ClusterSchema.js.map +1 -1
  9. package/dist/cjs/ClusterWorkflowEngine.js +50 -83
  10. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  11. package/dist/cjs/Entity.js +1 -13
  12. package/dist/cjs/Entity.js.map +1 -1
  13. package/dist/cjs/EntityAddress.js +9 -1
  14. package/dist/cjs/EntityAddress.js.map +1 -1
  15. package/dist/cjs/EntityId.js +7 -1
  16. package/dist/cjs/EntityId.js.map +1 -1
  17. package/dist/cjs/EntityProxy.js +1 -1
  18. package/dist/cjs/EntityProxy.js.map +1 -1
  19. package/dist/cjs/HttpRunner.js +69 -43
  20. package/dist/cjs/HttpRunner.js.map +1 -1
  21. package/dist/cjs/MessageStorage.js +64 -16
  22. package/dist/cjs/MessageStorage.js.map +1 -1
  23. package/dist/cjs/Runner.js +3 -3
  24. package/dist/cjs/Runner.js.map +1 -1
  25. package/dist/cjs/RunnerAddress.js +7 -0
  26. package/dist/cjs/RunnerAddress.js.map +1 -1
  27. package/dist/cjs/RunnerHealth.js +91 -32
  28. package/dist/cjs/RunnerHealth.js.map +1 -1
  29. package/dist/cjs/RunnerServer.js +38 -24
  30. package/dist/cjs/RunnerServer.js.map +1 -1
  31. package/dist/cjs/RunnerStorage.js +100 -0
  32. package/dist/cjs/RunnerStorage.js.map +1 -0
  33. package/dist/cjs/Runners.js +18 -22
  34. package/dist/cjs/Runners.js.map +1 -1
  35. package/dist/cjs/ShardId.js +17 -7
  36. package/dist/cjs/ShardId.js.map +1 -1
  37. package/dist/cjs/Sharding.js +444 -320
  38. package/dist/cjs/Sharding.js.map +1 -1
  39. package/dist/cjs/ShardingConfig.js +10 -14
  40. package/dist/cjs/ShardingConfig.js.map +1 -1
  41. package/dist/cjs/Snowflake.js +1 -1
  42. package/dist/cjs/SocketRunner.js +1 -1
  43. package/dist/cjs/SocketRunner.js.map +1 -1
  44. package/dist/cjs/SqlMessageStorage.js +22 -28
  45. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  46. package/dist/cjs/SqlRunnerStorage.js +375 -0
  47. package/dist/cjs/SqlRunnerStorage.js.map +1 -0
  48. package/dist/cjs/index.js +5 -15
  49. package/dist/cjs/internal/entityManager.js +42 -23
  50. package/dist/cjs/internal/entityManager.js.map +1 -1
  51. package/dist/dts/ClusterError.d.ts +0 -22
  52. package/dist/dts/ClusterError.d.ts.map +1 -1
  53. package/dist/dts/ClusterMetrics.d.ts +4 -14
  54. package/dist/dts/ClusterMetrics.d.ts.map +1 -1
  55. package/dist/dts/ClusterSchema.d.ts +9 -1
  56. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  57. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  58. package/dist/dts/Entity.d.ts +3 -14
  59. package/dist/dts/Entity.d.ts.map +1 -1
  60. package/dist/dts/EntityAddress.d.ts +11 -0
  61. package/dist/dts/EntityAddress.d.ts.map +1 -1
  62. package/dist/dts/EntityId.d.ts +5 -0
  63. package/dist/dts/EntityId.d.ts.map +1 -1
  64. package/dist/dts/EntityProxy.d.ts +5 -6
  65. package/dist/dts/EntityProxy.d.ts.map +1 -1
  66. package/dist/dts/HttpRunner.d.ts +48 -25
  67. package/dist/dts/HttpRunner.d.ts.map +1 -1
  68. package/dist/dts/MessageStorage.d.ts +13 -5
  69. package/dist/dts/MessageStorage.d.ts.map +1 -1
  70. package/dist/dts/Runner.d.ts +4 -4
  71. package/dist/dts/Runner.d.ts.map +1 -1
  72. package/dist/dts/RunnerAddress.d.ts +5 -0
  73. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  74. package/dist/dts/RunnerHealth.d.ts +24 -16
  75. package/dist/dts/RunnerHealth.d.ts.map +1 -1
  76. package/dist/dts/RunnerServer.d.ts +5 -4
  77. package/dist/dts/RunnerServer.d.ts.map +1 -1
  78. package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
  79. package/dist/dts/RunnerStorage.d.ts.map +1 -0
  80. package/dist/dts/Runners.d.ts +15 -11
  81. package/dist/dts/Runners.d.ts.map +1 -1
  82. package/dist/dts/ShardId.d.ts +1 -1
  83. package/dist/dts/ShardId.d.ts.map +1 -1
  84. package/dist/dts/Sharding.d.ts +20 -10
  85. package/dist/dts/Sharding.d.ts.map +1 -1
  86. package/dist/dts/ShardingConfig.d.ts +40 -14
  87. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  88. package/dist/dts/SocketRunner.d.ts +4 -3
  89. package/dist/dts/SocketRunner.d.ts.map +1 -1
  90. package/dist/dts/SqlMessageStorage.d.ts +2 -3
  91. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  92. package/dist/dts/SqlRunnerStorage.d.ts +40 -0
  93. package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
  94. package/dist/dts/index.d.ts +4 -24
  95. package/dist/dts/index.d.ts.map +1 -1
  96. package/dist/esm/ClusterError.js +0 -21
  97. package/dist/esm/ClusterError.js.map +1 -1
  98. package/dist/esm/ClusterMetrics.js +12 -14
  99. package/dist/esm/ClusterMetrics.js.map +1 -1
  100. package/dist/esm/ClusterSchema.js +17 -2
  101. package/dist/esm/ClusterSchema.js.map +1 -1
  102. package/dist/esm/ClusterWorkflowEngine.js +50 -83
  103. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  104. package/dist/esm/Entity.js +0 -12
  105. package/dist/esm/Entity.js.map +1 -1
  106. package/dist/esm/EntityAddress.js +7 -0
  107. package/dist/esm/EntityAddress.js.map +1 -1
  108. package/dist/esm/EntityId.js +5 -0
  109. package/dist/esm/EntityId.js.map +1 -1
  110. package/dist/esm/EntityProxy.js +2 -2
  111. package/dist/esm/EntityProxy.js.map +1 -1
  112. package/dist/esm/HttpRunner.js +62 -39
  113. package/dist/esm/HttpRunner.js.map +1 -1
  114. package/dist/esm/MessageStorage.js +65 -17
  115. package/dist/esm/MessageStorage.js.map +1 -1
  116. package/dist/esm/Runner.js +3 -3
  117. package/dist/esm/Runner.js.map +1 -1
  118. package/dist/esm/RunnerAddress.js +7 -0
  119. package/dist/esm/RunnerAddress.js.map +1 -1
  120. package/dist/esm/RunnerHealth.js +88 -30
  121. package/dist/esm/RunnerHealth.js.map +1 -1
  122. package/dist/esm/RunnerServer.js +38 -24
  123. package/dist/esm/RunnerServer.js.map +1 -1
  124. package/dist/esm/RunnerStorage.js +90 -0
  125. package/dist/esm/RunnerStorage.js.map +1 -0
  126. package/dist/esm/Runners.js +19 -23
  127. package/dist/esm/Runners.js.map +1 -1
  128. package/dist/esm/ShardId.js +16 -6
  129. package/dist/esm/ShardId.js.map +1 -1
  130. package/dist/esm/Sharding.js +447 -323
  131. package/dist/esm/Sharding.js.map +1 -1
  132. package/dist/esm/ShardingConfig.js +10 -14
  133. package/dist/esm/ShardingConfig.js.map +1 -1
  134. package/dist/esm/Snowflake.js +1 -1
  135. package/dist/esm/SocketRunner.js +1 -1
  136. package/dist/esm/SocketRunner.js.map +1 -1
  137. package/dist/esm/SqlMessageStorage.js +22 -28
  138. package/dist/esm/SqlMessageStorage.js.map +1 -1
  139. package/dist/esm/SqlRunnerStorage.js +366 -0
  140. package/dist/esm/SqlRunnerStorage.js.map +1 -0
  141. package/dist/esm/index.js +4 -24
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/internal/entityManager.js +41 -22
  144. package/dist/esm/internal/entityManager.js.map +1 -1
  145. package/package.json +20 -60
  146. package/src/ClusterError.ts +0 -24
  147. package/src/ClusterMetrics.ts +12 -16
  148. package/src/ClusterSchema.ts +17 -2
  149. package/src/ClusterWorkflowEngine.ts +48 -80
  150. package/src/Entity.ts +3 -21
  151. package/src/EntityAddress.ts +10 -0
  152. package/src/EntityId.ts +6 -0
  153. package/src/EntityProxy.ts +10 -10
  154. package/src/HttpRunner.ts +132 -67
  155. package/src/MessageStorage.ts +89 -24
  156. package/src/Runner.ts +4 -4
  157. package/src/RunnerAddress.ts +8 -0
  158. package/src/RunnerHealth.ts +119 -56
  159. package/src/RunnerServer.ts +64 -47
  160. package/src/RunnerStorage.ts +218 -0
  161. package/src/Runners.ts +32 -45
  162. package/src/ShardId.ts +14 -3
  163. package/src/Sharding.ts +561 -417
  164. package/src/ShardingConfig.ts +39 -31
  165. package/src/Snowflake.ts +1 -1
  166. package/src/SocketRunner.ts +6 -4
  167. package/src/SqlMessageStorage.ts +28 -30
  168. package/src/SqlRunnerStorage.ts +537 -0
  169. package/src/index.ts +4 -29
  170. package/src/internal/entityManager.ts +45 -29
  171. package/HttpCommon/package.json +0 -6
  172. package/HttpShardManager/package.json +0 -6
  173. package/ShardManager/package.json +0 -6
  174. package/ShardStorage/package.json +0 -6
  175. package/SocketShardManager/package.json +0 -6
  176. package/SqlShardStorage/package.json +0 -6
  177. package/SynchronizedClock/package.json +0 -6
  178. package/dist/cjs/HttpCommon.js +0 -48
  179. package/dist/cjs/HttpCommon.js.map +0 -1
  180. package/dist/cjs/HttpShardManager.js +0 -139
  181. package/dist/cjs/HttpShardManager.js.map +0 -1
  182. package/dist/cjs/ShardManager.js +0 -549
  183. package/dist/cjs/ShardManager.js.map +0 -1
  184. package/dist/cjs/ShardStorage.js +0 -151
  185. package/dist/cjs/ShardStorage.js.map +0 -1
  186. package/dist/cjs/SocketShardManager.js +0 -32
  187. package/dist/cjs/SocketShardManager.js.map +0 -1
  188. package/dist/cjs/SqlShardStorage.js +0 -253
  189. package/dist/cjs/SqlShardStorage.js.map +0 -1
  190. package/dist/cjs/SynchronizedClock.js +0 -65
  191. package/dist/cjs/SynchronizedClock.js.map +0 -1
  192. package/dist/cjs/internal/shardManager.js +0 -353
  193. package/dist/cjs/internal/shardManager.js.map +0 -1
  194. package/dist/dts/HttpCommon.d.ts +0 -25
  195. package/dist/dts/HttpCommon.d.ts.map +0 -1
  196. package/dist/dts/HttpShardManager.d.ts +0 -119
  197. package/dist/dts/HttpShardManager.d.ts.map +0 -1
  198. package/dist/dts/ShardManager.d.ts +0 -459
  199. package/dist/dts/ShardManager.d.ts.map +0 -1
  200. package/dist/dts/ShardStorage.d.ts.map +0 -1
  201. package/dist/dts/SocketShardManager.d.ts +0 -17
  202. package/dist/dts/SocketShardManager.d.ts.map +0 -1
  203. package/dist/dts/SqlShardStorage.d.ts +0 -38
  204. package/dist/dts/SqlShardStorage.d.ts.map +0 -1
  205. package/dist/dts/SynchronizedClock.d.ts +0 -19
  206. package/dist/dts/SynchronizedClock.d.ts.map +0 -1
  207. package/dist/dts/internal/shardManager.d.ts +0 -2
  208. package/dist/dts/internal/shardManager.d.ts.map +0 -1
  209. package/dist/esm/HttpCommon.js +0 -38
  210. package/dist/esm/HttpCommon.js.map +0 -1
  211. package/dist/esm/HttpShardManager.js +0 -128
  212. package/dist/esm/HttpShardManager.js.map +0 -1
  213. package/dist/esm/ShardManager.js +0 -535
  214. package/dist/esm/ShardManager.js.map +0 -1
  215. package/dist/esm/ShardStorage.js +0 -141
  216. package/dist/esm/ShardStorage.js.map +0 -1
  217. package/dist/esm/SocketShardManager.js +0 -24
  218. package/dist/esm/SocketShardManager.js.map +0 -1
  219. package/dist/esm/SqlShardStorage.js +0 -244
  220. package/dist/esm/SqlShardStorage.js.map +0 -1
  221. package/dist/esm/SynchronizedClock.js +0 -57
  222. package/dist/esm/SynchronizedClock.js.map +0 -1
  223. package/dist/esm/internal/shardManager.js +0 -342
  224. package/dist/esm/internal/shardManager.js.map +0 -1
  225. package/src/HttpCommon.ts +0 -73
  226. package/src/HttpShardManager.ts +0 -273
  227. package/src/ShardManager.ts +0 -823
  228. package/src/ShardStorage.ts +0 -297
  229. package/src/SocketShardManager.ts +0 -48
  230. package/src/SqlShardStorage.ts +0 -329
  231. package/src/SynchronizedClock.ts +0 -82
  232. 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 ShardStorage_base: Context.TagClass<ShardStorage, "@effect/cluster/ShardStorage", {
13
+ declare const RunnerStorage_base: Context.TagClass<RunnerStorage, "@effect/cluster/RunnerStorage", {
10
14
  /**
11
- * Get the current assignments of shards to runners.
15
+ * Register a new runner with the cluster.
12
16
  */
13
- readonly getAssignments: Effect.Effect<Array<[ShardId, Option.Option<RunnerAddress>]>, PersistenceError>;
17
+ readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
14
18
  /**
15
- * Save the current state of shards assignments to runners.
19
+ * Unregister the runner with the given address.
16
20
  */
17
- readonly saveAssignments: (assignments: Iterable<readonly [ShardId, Option.Option<RunnerAddress>]>) => Effect.Effect<void, PersistenceError>;
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<[RunnerAddress, Runner]>, PersistenceError>;
25
+ readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
22
26
  /**
23
- * Save the current runners registered with the cluster.
27
+ * Set the health status of the given runner.
24
28
  */
25
- readonly saveRunners: (runners: Iterable<readonly [RunnerAddress, Runner]>) => Effect.Effect<void, PersistenceError>;
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 ShardStorage extends ShardStorage_base {
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 the current assignments of shards to runners.
64
+ * Get all runners registered with the cluster.
64
65
  */
65
- readonly getAssignments: Effect.Effect<Array<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
- * Save the current state of shards assignments to runners.
68
+ * Register a new runner with the cluster.
71
69
  */
72
- readonly saveAssignments: (assignments: Array<readonly [shardId: string, RunnerAddress: string | null]>) => Effect.Effect<void, PersistenceError>;
70
+ readonly register: (address: string, runner: string, healthy: boolean) => Effect.Effect<number, PersistenceError>;
73
71
  /**
74
- * Get all runners registered with the cluster.
72
+ * Unregister the runner with the given address.
75
73
  */
76
- readonly getRunners: Effect.Effect<Array<readonly [address: string, runner: string]>, PersistenceError>;
74
+ readonly unregister: (address: string) => Effect.Effect<void, PersistenceError>;
77
75
  /**
78
- * Save the current runners registered with the cluster.
76
+ * Set the health status of the given runner.
79
77
  */
80
- readonly saveRunners: (runners: Array<readonly [address: string, runner: string]>) => Effect.Effect<void, PersistenceError>;
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: ReadonlyArray<string>) => Effect.Effect<Array<string>, PersistenceError>;
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: ReadonlyArray<string>) => Effect.Effect<Array<string>, PersistenceError>;
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
- * Get the current assignments of shards to runners.
104
+ * Register a new runner with the cluster.
107
105
  */
108
- readonly getAssignments: Effect.Effect<Array<[ShardId, Option.Option<RunnerAddress>]>, PersistenceError>;
106
+ readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
109
107
  /**
110
- * Save the current state of shards assignments to runners.
108
+ * Unregister the runner with the given address.
111
109
  */
112
- readonly saveAssignments: (assignments: Iterable<readonly [ShardId, Option.Option<RunnerAddress>]>) => Effect.Effect<void, PersistenceError>;
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<[RunnerAddress, Runner]>, PersistenceError>;
114
+ readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
117
115
  /**
118
- * Save the current runners registered with the cluster.
116
+ * Set the health status of the given runner.
119
117
  */
120
- readonly saveRunners: (runners: Iterable<readonly [RunnerAddress, Runner]>) => Effect.Effect<void, PersistenceError>;
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
- * Get the current assignments of shards to runners.
144
+ * Register a new runner with the cluster.
155
145
  */
156
- readonly getAssignments: Effect.Effect<Array<[ShardId, Option.Option<RunnerAddress>]>, PersistenceError>;
146
+ readonly register: (runner: Runner, healthy: boolean) => Effect.Effect<MachineId.MachineId, PersistenceError>;
157
147
  /**
158
- * Save the current state of shards assignments to runners.
148
+ * Unregister the runner with the given address.
159
149
  */
160
- readonly saveAssignments: (assignments: Iterable<readonly [ShardId, Option.Option<RunnerAddress>]>) => Effect.Effect<void, PersistenceError>;
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<[RunnerAddress, Runner]>, PersistenceError>;
154
+ readonly getRunners: Effect.Effect<Array<readonly [runner: Runner, healthy: boolean]>, PersistenceError>;
165
155
  /**
166
- * Save the current runners registered with the cluster.
156
+ * Set the health status of the given runner.
167
157
  */
168
- readonly saveRunners: (runners: Iterable<readonly [RunnerAddress, Runner]>) => Effect.Effect<void, PersistenceError>;
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<ShardStorage>;
182
+ export declare const layerMemory: Layer.Layer<RunnerStorage>;
196
183
  export {};
197
- //# sourceMappingURL=ShardStorage.d.ts.map
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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"}
@@ -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, EntityNotManagedByRunner, MailboxFull, RunnerUnavailable } from "./ClusterError.js";
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, EntityNotManagedByRunner | EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage>;
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, EntityNotManagedByRunner | EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage | PersistenceError>;
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, EntityNotManagedByRunner | EntityNotAssignedToRunner | RunnerUnavailable | MailboxFull | AlreadyProcessingMessage | PersistenceError>;
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, EntityNotManagedByRunner | PersistenceError>;
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, EntityNotManagedByRunner | EntityNotAssignedToRunner>;
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, EntityNotManagedByRunner | PersistenceError>;
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 EntityNotManagedByRunner, typeof EntityNotAssignedToRunner, typeof AlreadyProcessingMessage]>, never> | Rpc.Rpc<"Effect", Schema.Struct<{
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 EntityNotManagedByRunner, typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>, never> | Rpc.Rpc<"Stream", Schema.Struct<{
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 EntityNotManagedByRunner, typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>>, typeof Schema.Never, never> | Rpc.Rpc<"Envelope", Schema.Struct<{
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 EntityNotManagedByRunner, typeof EntityNotAssignedToRunner, typeof MailboxFull, typeof AlreadyProcessingMessage]>, never>>;
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":"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"}
1
+ {"version":3,"file":"Runners.d.ts","sourceRoot":"","sources":["../../src/Runners.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ export declare class ShardId extends ShardId_base {
66
66
  readonly id: number;
67
67
  };
68
68
  /**
69
- * @since 1.0.0
69
+ * @since 4.0.0
70
70
  */
71
71
  static fromString(s: string): ShardId;
72
72
  }
@@ -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,OAA6D,CAAA;;;;;;;;;;;;AAE9G;;;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;CAGtC"}
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"}
@@ -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, EntityNotManagedByRunner } from "./ClusterError.js";
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 { ShardId } from "./ShardId.js";
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 | EntityNotManagedByRunner>>;
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, EntityNotManagedByRunner | EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage>;
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, EntityNotManagedByRunner | MailboxFull | AlreadyProcessingMessage | PersistenceError>;
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>) => Effect.Effect<void, EntityNotManagedByRunner | EntityNotAssignedToRunner | AlreadyProcessingMessage>;
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 | ShardManagerClient | MessageStorage.MessageStorage | ShardStorage>;
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":"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"}
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
- * The version of the current runner.
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 serverVersion: number;
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
- * The address of the shard manager.
50
+ * Shard lock refresh interval.
45
51
  */
46
- readonly shardManagerAddress: RunnerAddress;
52
+ readonly shardLockRefreshInterval: DurationInput;
47
53
  /**
48
- * If the shard manager is unavailable for this duration, all the shard
49
- * assignments will be reset.
54
+ * Shard lock expiration duration.
50
55
  */
51
- readonly shardManagerUnavailableTimeout: DurationInput;
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
- * The version of the current runner.
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 serverVersion: number;
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
- * The address of the shard manager.
169
+ * Shard lock refresh interval.
151
170
  */
152
- readonly shardManagerAddress: RunnerAddress;
171
+ readonly shardLockRefreshInterval: DurationInput;
153
172
  /**
154
- * If the shard manager is unavailable for this duration, all the shard
155
- * assignments will be reset.
173
+ * Shard lock expiration duration.
156
174
  */
157
- readonly shardManagerUnavailableTimeout: DurationInput;
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;;OAEG;4BACqB,MAAM;IAC9B;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;kCAC2B,aAAa;IAC3C;;;OAGG;6CACsC,aAAa;IACtD;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;yCACV,aAAa;IAClD;;OAEG;gCACyB,aAAa;IAEzC;;;OAGG;0CACmC,OAAO;;AA/E/C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBA0EhC;CAAG;AAIP;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,MAAM,CAgB3C,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,CAkFvD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa;IA5MxB;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;OAEG;4BACqB,MAAM;IAC9B;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;kCAC2B,aAAa;IAC3C;;;OAGG;6CACsC,aAAa;IACtD;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;yCACV,aAAa;IAClD;;OAEG;gCACyB,aAAa;IAEzC;;;OAGG;0CACmC,OAAO;sBA0I9C,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"}
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 | ShardStorage.ShardStorage>;
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,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AActD;;;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,YAAY,CAAC,YAAY,CAI5B,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,CAC7B,CAAA"}
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>, onUnregister: Effect.Effect<void>) => Effect.Effect<void>;
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