@effect/cluster 0.37.2 → 0.38.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/ClusterCron/package.json +6 -0
- package/dist/cjs/ClusterCron.js +86 -0
- package/dist/cjs/ClusterCron.js.map +1 -0
- package/dist/cjs/ClusterSchema.js +9 -1
- package/dist/cjs/ClusterSchema.js.map +1 -1
- package/dist/cjs/ClusterWorkflowEngine.js +21 -6
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +6 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/EntityAddress.js +8 -1
- package/dist/cjs/EntityAddress.js.map +1 -1
- package/dist/cjs/MessageStorage.js +6 -4
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/Runner.js +15 -0
- package/dist/cjs/Runner.js.map +1 -1
- package/dist/cjs/RunnerAddress.js +8 -1
- package/dist/cjs/RunnerAddress.js.map +1 -1
- package/dist/cjs/Runners.js +5 -0
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/ShardId.js +75 -7
- package/dist/cjs/ShardId.js.map +1 -1
- package/dist/cjs/ShardManager.js +63 -43
- package/dist/cjs/ShardManager.js.map +1 -1
- package/dist/cjs/ShardStorage.js +45 -36
- package/dist/cjs/ShardStorage.js.map +1 -1
- package/dist/cjs/Sharding.js +45 -37
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +9 -2
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Singleton.js +2 -2
- package/dist/cjs/Singleton.js.map +1 -1
- package/dist/cjs/SingletonAddress.js +2 -2
- package/dist/cjs/SingletonAddress.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +32 -27
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlShardStorage.js +14 -14
- package/dist/cjs/SqlShardStorage.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internal/entityManager.js +2 -1
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/cjs/internal/shardManager.js +138 -37
- package/dist/cjs/internal/shardManager.js.map +1 -1
- package/dist/dts/ClusterCron.d.ts +37 -0
- package/dist/dts/ClusterCron.d.ts.map +1 -0
- package/dist/dts/ClusterSchema.d.ts +8 -0
- package/dist/dts/ClusterSchema.d.ts.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +10 -0
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/EntityAddress.d.ts +9 -3
- package/dist/dts/EntityAddress.d.ts.map +1 -1
- package/dist/dts/MessageStorage.d.ts +3 -3
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/Runner.d.ts +15 -0
- 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/Runners.d.ts.map +1 -1
- package/dist/dts/ShardId.d.ts +60 -6
- package/dist/dts/ShardId.d.ts.map +1 -1
- package/dist/dts/ShardManager.d.ts +13 -13
- package/dist/dts/ShardManager.d.ts.map +1 -1
- package/dist/dts/ShardStorage.d.ts +11 -14
- package/dist/dts/ShardStorage.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +4 -2
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +32 -6
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/dts/Singleton.d.ts +3 -1
- package/dist/dts/Singleton.d.ts.map +1 -1
- package/dist/dts/SingletonAddress.d.ts +4 -3
- package/dist/dts/SingletonAddress.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +3 -2
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/dts/SqlShardStorage.d.ts +1 -1
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/ClusterCron.js +77 -0
- package/dist/esm/ClusterCron.js.map +1 -0
- package/dist/esm/ClusterSchema.js +7 -0
- package/dist/esm/ClusterSchema.js.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +21 -6
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +6 -1
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/EntityAddress.js +8 -1
- package/dist/esm/EntityAddress.js.map +1 -1
- package/dist/esm/MessageStorage.js +6 -4
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/Runner.js +15 -0
- package/dist/esm/Runner.js.map +1 -1
- package/dist/esm/RunnerAddress.js +8 -1
- package/dist/esm/RunnerAddress.js.map +1 -1
- package/dist/esm/Runners.js +5 -0
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/ShardId.js +73 -6
- package/dist/esm/ShardId.js.map +1 -1
- package/dist/esm/ShardManager.js +64 -45
- package/dist/esm/ShardManager.js.map +1 -1
- package/dist/esm/ShardStorage.js +44 -36
- package/dist/esm/ShardStorage.js.map +1 -1
- package/dist/esm/Sharding.js +45 -37
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +9 -2
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Singleton.js +2 -2
- package/dist/esm/Singleton.js.map +1 -1
- package/dist/esm/SingletonAddress.js +2 -2
- package/dist/esm/SingletonAddress.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +32 -27
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlShardStorage.js +14 -14
- package/dist/esm/SqlShardStorage.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/entityManager.js +2 -1
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/dist/esm/internal/shardManager.js +136 -36
- package/dist/esm/internal/shardManager.js.map +1 -1
- package/package.json +12 -4
- package/src/ClusterCron.ts +129 -0
- package/src/ClusterSchema.ts +9 -0
- package/src/ClusterWorkflowEngine.ts +37 -6
- package/src/Entity.ts +20 -1
- package/src/EntityAddress.ts +11 -1
- package/src/MessageStorage.ts +12 -7
- package/src/Runner.ts +18 -0
- package/src/RunnerAddress.ts +9 -1
- package/src/Runners.ts +5 -0
- package/src/ShardId.ts +81 -11
- package/src/ShardManager.ts +74 -45
- package/src/ShardStorage.ts +51 -47
- package/src/Sharding.ts +45 -39
- package/src/ShardingConfig.ts +36 -7
- package/src/Singleton.ts +5 -2
- package/src/SingletonAddress.ts +2 -2
- package/src/SqlMessageStorage.ts +36 -30
- package/src/SqlShardStorage.ts +15 -15
- package/src/index.ts +5 -0
- package/src/internal/entityManager.ts +2 -1
- package/src/internal/shardManager.ts +158 -52
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.State = exports.RunnerWithMetadata = void 0;
|
6
|
+
exports.addAllNested = exports.State = exports.RunnerWithMetadata = void 0;
|
7
7
|
exports.decideAssignmentsForUnassignedShards = decideAssignmentsForUnassignedShards;
|
8
8
|
exports.decideAssignmentsForUnbalancedShards = decideAssignmentsForUnbalancedShards;
|
9
9
|
var Arr = _interopRequireWildcard(require("effect/Array"));
|
@@ -20,9 +20,11 @@ var _ShardStorage = require("../ShardStorage.js");
|
|
20
20
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
21
21
|
/** @internal */
|
22
22
|
class State {
|
23
|
+
allRunners;
|
23
24
|
runners;
|
24
25
|
shards;
|
25
|
-
|
26
|
+
shardsPerGroup;
|
27
|
+
static fromStorage = /*#__PURE__*/Effect.fnUntraced(function* (shardsPerGroup) {
|
26
28
|
const storage = yield* _ShardStorage.ShardStorage;
|
27
29
|
const runnerHealth = yield* _RunnerHealth.RunnerHealth;
|
28
30
|
// Fetch registered runners and shard assignments from cluster storage
|
@@ -45,11 +47,11 @@ class State {
|
|
45
47
|
yield* Effect.logWarning("Ignoring runners that are no longer considered alive:", deadRunners);
|
46
48
|
}
|
47
49
|
// Determine which shards remain unassigned to a runner
|
48
|
-
const assignedShards =
|
50
|
+
const assignedShards = MutableHashMap.empty();
|
49
51
|
const invalidAssignments = Arr.empty();
|
50
52
|
for (const [shard, address] of storedAssignments) {
|
51
53
|
if (Option.isSome(address) && MutableHashMap.has(aliveRunners, address.value)) {
|
52
|
-
|
54
|
+
MutableHashMap.set(assignedShards, shard, address.value);
|
53
55
|
} else if (Option.isSome(address)) {
|
54
56
|
invalidAssignments.push([shard, address.value]);
|
55
57
|
}
|
@@ -59,28 +61,98 @@ class State {
|
|
59
61
|
}
|
60
62
|
// Construct the initial state
|
61
63
|
const now = yield* Clock.currentTimeMillis;
|
62
|
-
const
|
64
|
+
const allRunners = MutableHashMap.empty();
|
65
|
+
const runnerState = new Map();
|
66
|
+
// for (const group of groups) {
|
67
|
+
// runnerState.set(group, MutableHashMap.empty<RunnerAddress, RunnerWithMetadata>())
|
68
|
+
// }
|
63
69
|
for (const [address, runner] of aliveRunners) {
|
64
|
-
|
70
|
+
const withMetadata = RunnerWithMetadata({
|
65
71
|
runner,
|
66
72
|
registeredAt: now
|
67
|
-
})
|
73
|
+
});
|
74
|
+
MutableHashMap.set(allRunners, address, withMetadata);
|
75
|
+
for (const group of runner.groups) {
|
76
|
+
let groupMap = runnerState.get(group);
|
77
|
+
if (!groupMap) {
|
78
|
+
groupMap = MutableHashMap.empty();
|
79
|
+
runnerState.set(group, groupMap);
|
80
|
+
}
|
81
|
+
MutableHashMap.set(groupMap, address, withMetadata);
|
82
|
+
}
|
68
83
|
}
|
69
84
|
const shardState = new Map();
|
70
|
-
for (
|
71
|
-
const
|
72
|
-
shardState.set(
|
85
|
+
for (const group of runnerState.keys()) {
|
86
|
+
const groupMap = new Map();
|
87
|
+
shardState.set(group, groupMap);
|
88
|
+
for (let n = 1; n <= shardsPerGroup; n++) {
|
89
|
+
const shardId = new _ShardId.ShardId({
|
90
|
+
group,
|
91
|
+
id: n
|
92
|
+
});
|
93
|
+
groupMap.set(n, MutableHashMap.get(assignedShards, shardId));
|
94
|
+
}
|
73
95
|
}
|
74
|
-
return new State(runnerState, shardState);
|
96
|
+
return new State(allRunners, runnerState, shardState, shardsPerGroup);
|
75
97
|
});
|
76
|
-
constructor(runners, shards) {
|
98
|
+
constructor(allRunners, runners, shards, shardsPerGroup) {
|
99
|
+
this.allRunners = allRunners;
|
77
100
|
this.runners = runners;
|
78
101
|
this.shards = shards;
|
102
|
+
this.shardsPerGroup = shardsPerGroup;
|
103
|
+
this.assignments = MutableHashMap.empty();
|
104
|
+
for (const [group, groupMap] of this.shards) {
|
105
|
+
for (const [id, address] of groupMap) {
|
106
|
+
MutableHashMap.set(this.assignments, new _ShardId.ShardId({
|
107
|
+
group,
|
108
|
+
id
|
109
|
+
}), address);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
assignments;
|
114
|
+
addGroup(group) {
|
115
|
+
this.runners.set(group, MutableHashMap.empty());
|
116
|
+
const shardMap = new Map();
|
117
|
+
for (let n = 1; n <= this.shardsPerGroup; n++) {
|
118
|
+
shardMap.set(n, Option.none());
|
119
|
+
MutableHashMap.set(this.assignments, new _ShardId.ShardId({
|
120
|
+
group,
|
121
|
+
id: n
|
122
|
+
}), Option.none());
|
123
|
+
}
|
124
|
+
this.shards.set(group, shardMap);
|
125
|
+
}
|
126
|
+
addAssignments(shards, address) {
|
127
|
+
for (const shardId of shards) {
|
128
|
+
MutableHashMap.set(this.assignments, shardId, address);
|
129
|
+
this.shards.get(shardId.group)?.set(shardId.id, address);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
addRunner(runner, registeredAt) {
|
133
|
+
const withMetadata = RunnerWithMetadata({
|
134
|
+
runner,
|
135
|
+
registeredAt
|
136
|
+
});
|
137
|
+
MutableHashMap.set(this.allRunners, runner.address, withMetadata);
|
138
|
+
for (const group of runner.groups) {
|
139
|
+
if (!this.runners.has(group)) {
|
140
|
+
this.addGroup(group);
|
141
|
+
}
|
142
|
+
const groupMap = this.runners.get(group);
|
143
|
+
MutableHashMap.set(groupMap, runner.address, withMetadata);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
removeRunner(address) {
|
147
|
+
MutableHashMap.remove(this.allRunners, address);
|
148
|
+
for (const groupMap of this.runners.values()) {
|
149
|
+
MutableHashMap.remove(groupMap, address);
|
150
|
+
}
|
79
151
|
}
|
80
152
|
get maxVersion() {
|
81
|
-
if (MutableHashMap.size(this.
|
153
|
+
if (MutableHashMap.size(this.allRunners) === 0) return Option.none();
|
82
154
|
let version = undefined;
|
83
|
-
for (const [, meta] of this.
|
155
|
+
for (const [, meta] of this.allRunners) {
|
84
156
|
if (version === undefined || meta.runner.version > version) {
|
85
157
|
version = meta.runner.version;
|
86
158
|
}
|
@@ -90,26 +162,39 @@ class State {
|
|
90
162
|
allRunnersHaveVersion(version) {
|
91
163
|
return version.pipe(Option.map(max => Arr.every(this.runnerVersions, version => version === max)), Option.getOrElse(_Function.constFalse));
|
92
164
|
}
|
93
|
-
|
165
|
+
shardsPerRunner(group) {
|
166
|
+
const groupRunners = this.runners.get(group);
|
94
167
|
const shards = MutableHashMap.empty();
|
95
|
-
if (MutableHashMap.isEmpty(
|
96
|
-
MutableHashMap.forEach(
|
168
|
+
if (!groupRunners || MutableHashMap.isEmpty(groupRunners)) return shards;
|
169
|
+
MutableHashMap.forEach(groupRunners, (_, address) => {
|
97
170
|
MutableHashMap.set(shards, address, new Set());
|
98
171
|
});
|
99
|
-
|
172
|
+
const assignments = this.shards.get(group);
|
173
|
+
for (const [id, address] of assignments) {
|
100
174
|
if (Option.isNone(address)) continue;
|
101
175
|
const shardIds = Option.getOrUndefined(MutableHashMap.get(shards, address.value));
|
102
|
-
shardIds.add(
|
176
|
+
shardIds.add(id);
|
103
177
|
}
|
104
178
|
return shards;
|
105
179
|
}
|
106
|
-
|
107
|
-
const runnerCount = MutableHashMap.size(this.runners);
|
108
|
-
|
180
|
+
averageShardsPerRunner(group) {
|
181
|
+
const runnerCount = MutableHashMap.size(this.runners.get(group) ?? MutableHashMap.empty());
|
182
|
+
const shardGroup = this.shards.get(group) ?? new Map();
|
183
|
+
return runnerCount > 0 ? shardGroup.size / runnerCount : 0;
|
109
184
|
}
|
110
|
-
get
|
185
|
+
get allUnassignedShards() {
|
186
|
+
const unassigned = [];
|
187
|
+
for (const [shardId, address] of this.assignments) {
|
188
|
+
if (Option.isNone(address)) {
|
189
|
+
unassigned.push(shardId);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
return unassigned;
|
193
|
+
}
|
194
|
+
unassignedShards(group) {
|
111
195
|
const shardIds = [];
|
112
|
-
|
196
|
+
const assignments = this.shards.get(group);
|
197
|
+
for (const [shard, address] of assignments) {
|
113
198
|
if (Option.isNone(address)) {
|
114
199
|
shardIds.push(shard);
|
115
200
|
}
|
@@ -118,7 +203,7 @@ class State {
|
|
118
203
|
}
|
119
204
|
get runnerVersions() {
|
120
205
|
const runnerVersions = [];
|
121
|
-
for (const [, meta] of this.
|
206
|
+
for (const [, meta] of this.allRunners) {
|
122
207
|
runnerVersions.push(meta.runner.version);
|
123
208
|
}
|
124
209
|
return runnerVersions;
|
@@ -129,22 +214,24 @@ exports.State = State;
|
|
129
214
|
const RunnerWithMetadata = runner => runner;
|
130
215
|
/** @internal */
|
131
216
|
exports.RunnerWithMetadata = RunnerWithMetadata;
|
132
|
-
function decideAssignmentsForUnassignedShards(state) {
|
133
|
-
return pickNewRunners(state.unassignedShards, state, true, 1);
|
217
|
+
function decideAssignmentsForUnassignedShards(state, group) {
|
218
|
+
return pickNewRunners(state.unassignedShards(group), state, group, true, 1);
|
134
219
|
}
|
135
220
|
const allocationOrder = /*#__PURE__*/Order.combine(/*#__PURE__*/Order.mapInput(Order.number, ([, shards]) => shards), /*#__PURE__*/Order.mapInput(Order.number, ([,, registeredAt]) => registeredAt));
|
136
221
|
/** @internal */
|
137
|
-
function decideAssignmentsForUnbalancedShards(state, rate) {
|
138
|
-
const shardsPerRunner = state.shardsPerRunner;
|
222
|
+
function decideAssignmentsForUnbalancedShards(state, group, rate) {
|
223
|
+
const shardsPerRunner = state.shardsPerRunner(group);
|
139
224
|
const maxVersion = state.maxVersion;
|
140
225
|
const extraShardsToAllocate = Arr.empty();
|
226
|
+
const runnerGroup = state.runners.get(group);
|
227
|
+
const shardsGroup = state.shards.get(group);
|
141
228
|
if (state.allRunnersHaveVersion(maxVersion)) {
|
142
|
-
const averageShardsPerRunner = state.averageShardsPerRunner;
|
229
|
+
const averageShardsPerRunner = state.averageShardsPerRunner(group);
|
143
230
|
MutableHashMap.forEach(shardsPerRunner, shards => {
|
144
231
|
// Count how many extra shards there are compared to the average
|
145
232
|
const extraShards = Math.max(0, shards.size - averageShardsPerRunner);
|
146
233
|
for (const shard of takeRandom(shards, extraShards)) {
|
147
|
-
const maybeAddress =
|
234
|
+
const maybeAddress = shardsGroup.get(shard) ?? Option.none();
|
148
235
|
if (Option.isNone(maybeAddress)) {
|
149
236
|
extraShardsToAllocate.push([shard, Number.MIN_SAFE_INTEGER, Number.MIN_SAFE_INTEGER]);
|
150
237
|
continue;
|
@@ -153,7 +240,7 @@ function decideAssignmentsForUnbalancedShards(state, rate) {
|
|
153
240
|
extraShardsToAllocate.push([shard, Option.match(MutableHashMap.get(shardsPerRunner, address), {
|
154
241
|
onNone: () => Number.MIN_SAFE_INTEGER,
|
155
242
|
onSome: shards => -shards.size
|
156
|
-
}), Option.match(MutableHashMap.get(
|
243
|
+
}), Option.match(MutableHashMap.get(runnerGroup, address), {
|
157
244
|
onNone: () => Number.MIN_SAFE_INTEGER,
|
158
245
|
onSome: meta => meta.registeredAt
|
159
246
|
})]);
|
@@ -161,9 +248,9 @@ function decideAssignmentsForUnbalancedShards(state, rate) {
|
|
161
248
|
});
|
162
249
|
}
|
163
250
|
const sortedShardsToRebalance = extraShardsToAllocate.sort(allocationOrder).map(([shard]) => shard);
|
164
|
-
return pickNewRunners(sortedShardsToRebalance, state, false, rate, shardsPerRunner, maxVersion);
|
251
|
+
return pickNewRunners(sortedShardsToRebalance, state, group, false, rate, shardsPerRunner, maxVersion);
|
165
252
|
}
|
166
|
-
function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunner = state.shardsPerRunner, maybeMaxVersion = state.maxVersion) {
|
253
|
+
function pickNewRunners(shardsToRebalance, state, group, immediate, rate, shardsPerRunner = state.shardsPerRunner(group), maybeMaxVersion = state.maxVersion) {
|
167
254
|
const addressAssignments = MutableHashMap.empty();
|
168
255
|
const unassignments = MutableHashMap.empty();
|
169
256
|
const changes = MutableHashSet.empty();
|
@@ -171,13 +258,15 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
|
|
171
258
|
return [addressAssignments, unassignments, changes];
|
172
259
|
}
|
173
260
|
const maxVersion = maybeMaxVersion.value;
|
261
|
+
const runnerGroup = state.runners.get(group);
|
262
|
+
const shardsGroup = state.shards.get(group);
|
174
263
|
for (const shardId of shardsToRebalance) {
|
175
264
|
// Find the runner with the fewest assigned shards
|
176
265
|
let candidate;
|
177
266
|
let candidateShards;
|
178
267
|
for (const [address, shards] of shardsPerRunner) {
|
179
268
|
// Keep only runners with the maximum version
|
180
|
-
const maybeRunnerMeta = MutableHashMap.get(
|
269
|
+
const maybeRunnerMeta = MutableHashMap.get(runnerGroup, address);
|
181
270
|
if (Option.isNone(maybeRunnerMeta)) continue;
|
182
271
|
const runnerMeta = maybeRunnerMeta.value;
|
183
272
|
if (runnerMeta.runner.version !== maxVersion) continue;
|
@@ -187,7 +276,7 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
|
|
187
276
|
// occur immediately
|
188
277
|
if (!immediate) {
|
189
278
|
const assignmentCount = Option.getOrUndefined(MutableHashMap.get(addressAssignments, address))?.size ?? 0;
|
190
|
-
if (assignmentCount >=
|
279
|
+
if (assignmentCount >= shardsGroup.size * rate) continue;
|
191
280
|
}
|
192
281
|
if (candidate === undefined || shards.size < candidateShards.size) {
|
193
282
|
candidate = address;
|
@@ -196,7 +285,7 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
|
|
196
285
|
}
|
197
286
|
if (!candidate || !candidateShards) break;
|
198
287
|
// If the old runner is the same as the new runner, do nothing
|
199
|
-
const oldRunner = Option.getOrUndefined(
|
288
|
+
const oldRunner = Option.getOrUndefined(shardsGroup.get(shardId) ?? Option.none());
|
200
289
|
if (oldRunner && oldRunner.toString() === candidate.toString()) {
|
201
290
|
continue;
|
202
291
|
}
|
@@ -248,4 +337,16 @@ function swap(array, i, j) {
|
|
248
337
|
array[j] = tmp;
|
249
338
|
return array;
|
250
339
|
}
|
340
|
+
/** @internal */
|
341
|
+
const addAllNested = (self, key, values) => {
|
342
|
+
const oset = MutableHashMap.get(self, key);
|
343
|
+
if (Option.isSome(oset)) {
|
344
|
+
for (const value of values) {
|
345
|
+
MutableHashSet.add(oset.value, value);
|
346
|
+
}
|
347
|
+
} else {
|
348
|
+
MutableHashMap.set(self, key, MutableHashSet.fromIterable(values));
|
349
|
+
}
|
350
|
+
};
|
351
|
+
exports.addAllNested = addAllNested;
|
251
352
|
//# sourceMappingURL=shardManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shardManager.js","names":["Arr","_interopRequireWildcard","require","Clock","Effect","_Function","MutableHashMap","MutableHashSet","Option","Order","_RunnerHealth","_ShardId","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","State","runners","shards","fromStorage","fnUntraced","numberOfShards","storage","ShardStorage","runnerHealth","RunnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","push","concurrency","discard","length","logWarning","assignedShards","Map","invalidAssignments","shard","isSome","value","now","currentTimeMillis","runnerState","RunnerWithMetadata","registeredAt","shardState","shardId","ShardId","make","fromNullable","constructor","maxVersion","size","none","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","constFalse","shardsPerRunner","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","unassignedShards","exports","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","toString","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","j","tmp"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAAA,IAAAA,GAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AAGA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AAAiD,SAAAD,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAY,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEjD;AACM,MAAOkB,KAAK;EA0DLC,OAAA;EACAC,MAAA;EA1DX,OAAOC,WAAW,gBAAG/B,MAAM,CAACgC,UAAU,CAAC,WAAUC,cAAsB;IACrE,MAAMC,OAAO,GAAG,OAAOC,0BAAY;IACnC,MAAMC,YAAY,GAAG,OAAOC,0BAAY;IAExC;IACA,MAAMC,aAAa,GAAG,OAAOJ,OAAO,CAACK,UAAU;IAC/C,MAAMC,iBAAiB,GAAG,OAAON,OAAO,CAACO,cAAc;IAEvD;IACA,MAAMC,WAAW,GAAG9C,GAAG,CAAC+C,KAAK,EAAU;IACvC,MAAMC,YAAY,GAAG1C,cAAc,CAACyC,KAAK,EAAyB;IAClE,OAAO3C,MAAM,CAAC6C,OAAO,CAACP,aAAa,EAAE,CAAC,CAACQ,OAAO,EAAEC,MAAM,CAAC,KACrD/C,MAAM,CAACgD,GAAG,CAACZ,YAAY,CAACa,OAAO,CAACH,OAAO,CAAC,EAAGG,OAAO,IAAI;MACpD,IAAIA,OAAO,EAAE;QACX/C,cAAc,CAACoB,GAAG,CAACsB,YAAY,EAAEE,OAAO,EAAEC,MAAM,CAAC;MACnD,CAAC,MAAM;QACLL,WAAW,CAACQ,IAAI,CAACH,MAAM,CAAC;MAC1B;IACF,CAAC,CAAC,EAAE;MAAEI,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAAC;IAClD,IAAIV,WAAW,CAACW,MAAM,GAAG,CAAC,EAAE;MAC1B,OAAOrD,MAAM,CAACsD,UAAU,CAAC,uDAAuD,EAAEZ,WAAW,CAAC;IAChG;IAEA;IACA,MAAMa,cAAc,GAAG,IAAIC,GAAG,EAA0B;IACxD,MAAMC,kBAAkB,GAAG7D,GAAG,CAAC+C,KAAK,EAA4B;IAChE,KAAK,MAAM,CAACe,KAAK,EAAEZ,OAAO,CAAC,IAAIN,iBAAiB,EAAE;MAChD,IAAIpC,MAAM,CAACuD,MAAM,CAACb,OAAO,CAAC,IAAI5C,cAAc,CAACkB,GAAG,CAACwB,YAAY,EAAEE,OAAO,CAACc,KAAK,CAAC,EAAE;QAC7EL,cAAc,CAACjC,GAAG,CAACoC,KAAK,EAAEZ,OAAO,CAACc,KAAK,CAAC;MAC1C,CAAC,MAAM,IAAIxD,MAAM,CAACuD,MAAM,CAACb,OAAO,CAAC,EAAE;QACjCW,kBAAkB,CAACP,IAAI,CAAC,CAACQ,KAAK,EAAEZ,OAAO,CAACc,KAAK,CAAC,CAAC;MACjD;IACF;IACA,IAAIH,kBAAkB,CAACJ,MAAM,GAAG,CAAC,EAAE;MACjC,OAAOrD,MAAM,CAACsD,UAAU,CACtB,8EAA8E,EAC9EG,kBAAkB,CACnB;IACH;IAEA;IACA,MAAMI,GAAG,GAAG,OAAO9D,KAAK,CAAC+D,iBAAiB;IAC1C,MAAMC,WAAW,GAAG7D,cAAc,CAACyC,KAAK,EAAqC;IAC7E,KAAK,MAAM,CAACG,OAAO,EAAEC,MAAM,CAAC,IAAIH,YAAY,EAAE;MAC5C1C,cAAc,CAACoB,GAAG,CAACyC,WAAW,EAAEjB,OAAO,EAAEkB,kBAAkB,CAAC;QAAEjB,MAAM;QAAEkB,YAAY,EAAEJ;MAAG,CAAE,CAAC,CAAC;IAC7F;IAEA,MAAMK,UAAU,GAAG,IAAIV,GAAG,EAAyC;IACnE,KAAK,IAAI3C,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIoB,cAAc,EAAEpB,CAAC,EAAE,EAAE;MACxC,MAAMsD,OAAO,GAAGC,gBAAO,CAACC,IAAI,CAACxD,CAAC,CAAC;MAC/BqD,UAAU,CAAC5C,GAAG,CAAC6C,OAAO,EAAE/D,MAAM,CAACkE,YAAY,CAACf,cAAc,CAAClC,GAAG,CAAC8C,OAAO,CAAC,CAAC,CAAC;IAC3E;IAEA,OAAO,IAAIvC,KAAK,CAACmC,WAAW,EAAEG,UAAU,CAAC;EAC3C,CAAC,CAAC;EAEFK,YACW1C,OAAyE,EACzEC,MAAkD;IADlD,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;EAEH,IAAI0C,UAAUA,CAAA;IACZ,IAAItE,cAAc,CAACuE,IAAI,CAAC,IAAI,CAAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,OAAOzB,MAAM,CAACsE,IAAI,EAAE;IACjE,IAAIC,OAAO,GAAuBC,SAAS;IAC3C,KAAK,MAAM,GAAGC,IAAI,CAAC,IAAI,IAAI,CAAChD,OAAO,EAAE;MACnC,IAAI8C,OAAO,KAAKC,SAAS,IAAIC,IAAI,CAAC9B,MAAM,CAAC4B,OAAO,GAAGA,OAAO,EAAE;QAC1DA,OAAO,GAAGE,IAAI,CAAC9B,MAAM,CAAC4B,OAAO;MAC/B;IACF;IACA,OAAOvE,MAAM,CAAC0E,IAAI,CAACH,OAAQ,CAAC;EAC9B;EAEAI,qBAAqBA,CAACJ,OAA8B;IAClD,OAAOA,OAAO,CAACK,IAAI,CACjB5E,MAAM,CAAC4C,GAAG,CAAEiC,GAAG,IAAKrF,GAAG,CAACsF,KAAK,CAAC,IAAI,CAACC,cAAc,EAAGR,OAAO,IAAKA,OAAO,KAAKM,GAAG,CAAC,CAAC,EACjF7E,MAAM,CAACgF,SAAS,CAACC,oBAAU,CAAC,CAC7B;EACH;EAEA,IAAIC,eAAeA,CAAA;IACjB,MAAMxD,MAAM,GAAG5B,cAAc,CAACyC,KAAK,EAA+B;IAElE,IAAIzC,cAAc,CAACqF,OAAO,CAAC,IAAI,CAAC1D,OAAO,CAAC,EAAE,OAAOC,MAAM;IACvD5B,cAAc,CAAC2C,OAAO,CAAC,IAAI,CAAChB,OAAO,EAAE,CAAC2D,CAAC,EAAE1C,OAAO,KAAI;MAClD5C,cAAc,CAACoB,GAAG,CAACQ,MAAM,EAAEgB,OAAO,EAAE,IAAI2C,GAAG,EAAE,CAAC;IAChD,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC/B,KAAK,EAAEZ,OAAO,CAAC,IAAI,IAAI,CAAChB,MAAM,EAAE;MAC1C,IAAI1B,MAAM,CAACsF,MAAM,CAAC5C,OAAO,CAAC,EAAE;MAC5B,MAAM6C,QAAQ,GAAGvF,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACmB,GAAG,CAACS,MAAM,EAAEgB,OAAO,CAACc,KAAK,CAAC,CAAE;MAClF+B,QAAQ,CAACE,GAAG,CAACnC,KAAK,CAAC;IACrB;IAEA,OAAO5B,MAAM;EACf;EAEA,IAAIgE,sBAAsBA,CAAA;IACxB,MAAMC,WAAW,GAAG7F,cAAc,CAACuE,IAAI,CAAC,IAAI,CAAC5C,OAAO,CAAC;IACrD,OAAOkE,WAAW,GAAG,CAAC,GAAG,IAAI,CAACjE,MAAM,CAAC2C,IAAI,GAAGsB,WAAW,GAAG,CAAC;EAC7D;EAEA,IAAIC,gBAAgBA,CAAA;IAClB,MAAML,QAAQ,GAAmB,EAAE;IACnC,KAAK,MAAM,CAACjC,KAAK,EAAEZ,OAAO,CAAC,IAAI,IAAI,CAAChB,MAAM,EAAE;MAC1C,IAAI1B,MAAM,CAACsF,MAAM,CAAC5C,OAAO,CAAC,EAAE;QAC1B6C,QAAQ,CAACzC,IAAI,CAACQ,KAAK,CAAC;MACtB;IACF;IACA,OAAOiC,QAAQ;EACjB;EAEA,IAAYR,cAAcA,CAAA;IACxB,MAAMA,cAAc,GAAkB,EAAE;IACxC,KAAK,MAAM,GAAGN,IAAI,CAAC,IAAI,IAAI,CAAChD,OAAO,EAAE;MACnCsD,cAAc,CAACjC,IAAI,CAAC2B,IAAI,CAAC9B,MAAM,CAAC4B,OAAO,CAAC;IAC1C;IACA,OAAOQ,cAAc;EACvB;;AAQF;AAAAc,OAAA,CAAArE,KAAA,GAAAA,KAAA;AACO,MAAMoC,kBAAkB,GAAIjB,MAA0B,IAAyBA,MAAM;AAE5F;AAAAkD,OAAA,CAAAjC,kBAAA,GAAAA,kBAAA;AACM,SAAUkC,oCAAoCA,CAACC,KAAY;EAK/D,OAAOC,cAAc,CAACD,KAAK,CAACH,gBAAgB,EAAEG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D;AAEA,MAAME,eAAe,gBAA2ChG,KAAK,CAACiG,OAAO,cAC3EjG,KAAK,CAACkG,QAAQ,CAAClG,KAAK,CAACmG,MAAM,EAAE,CAAC,GAAG1E,MAAM,CAAC,KAAKA,MAAM,CAAC,eACpDzB,KAAK,CAACkG,QAAQ,CAAClG,KAAK,CAACmG,MAAM,EAAE,CAAC,IAAKvC,YAAY,CAAC,KAAKA,YAAY,CAAC,CACnE;AAED;AACM,SAAUwC,oCAAoCA,CAACN,KAAY,EAAEO,IAAY;EAK7E,MAAMpB,eAAe,GAAGa,KAAK,CAACb,eAAe;EAC7C,MAAMd,UAAU,GAAG2B,KAAK,CAAC3B,UAAU;EACnC,MAAMmC,qBAAqB,GAAG/G,GAAG,CAAC+C,KAAK,EAA0D;EAEjG,IAAIwD,KAAK,CAACpB,qBAAqB,CAACP,UAAU,CAAC,EAAE;IAC3C,MAAMsB,sBAAsB,GAAGK,KAAK,CAACL,sBAAsB;IAC3D5F,cAAc,CAAC2C,OAAO,CAACyC,eAAe,EAAGxD,MAAM,IAAI;MACjD;MACA,MAAM8E,WAAW,GAAGC,IAAI,CAAC5B,GAAG,CAAC,CAAC,EAAEnD,MAAM,CAAC2C,IAAI,GAAGqB,sBAAsB,CAAC;MACrE,KAAK,MAAMpC,KAAK,IAAIoD,UAAU,CAAChF,MAAM,EAAE8E,WAAW,CAAC,EAAE;QACnD,MAAMG,YAAY,GAAGZ,KAAK,CAACrE,MAAM,CAACT,GAAG,CAACqC,KAAK,CAAC,IAAItD,MAAM,CAACsE,IAAI,EAAE;QAC7D,IAAItE,MAAM,CAACsF,MAAM,CAACqB,YAAY,CAAC,EAAE;UAC/BJ,qBAAqB,CAACzD,IAAI,CAAC,CAACQ,KAAK,EAAEsD,MAAM,CAACC,gBAAgB,EAAED,MAAM,CAACC,gBAAgB,CAAC,CAAC;UACrF;QACF;QACA,MAAMnE,OAAO,GAAGiE,YAAY,CAACnD,KAAK;QAClC+C,qBAAqB,CAACzD,IAAI,CAAC,CACzBQ,KAAK,EACLtD,MAAM,CAAC8G,KAAK,CAAChH,cAAc,CAACmB,GAAG,CAACiE,eAAe,EAAExC,OAAO,CAAC,EAAE;UACzDqE,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAGtF,MAAM,IAAK,CAACA,MAAM,CAAC2C;SAC7B,CAAC,EACFrE,MAAM,CAAC8G,KAAK,CAAChH,cAAc,CAACmB,GAAG,CAAC8E,KAAK,CAACtE,OAAO,EAAEiB,OAAO,CAAC,EAAE;UACvDqE,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAGvC,IAAI,IAAKA,IAAI,CAACZ;SACxB,CAAC,CACH,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,MAAMoD,uBAAuB,GAAGV,qBAAqB,CAACW,IAAI,CAACjB,eAAe,CAAC,CAACrD,GAAG,CAAC,CAAC,CAACU,KAAK,CAAC,KAAKA,KAAK,CAAC;EAEnG,OAAO0C,cAAc,CAACiB,uBAAuB,EAAElB,KAAK,EAAE,KAAK,EAAEO,IAAI,EAAEpB,eAAe,EAAEd,UAAU,CAAC;AACjG;AAEA,SAAS4B,cAAcA,CACrBmB,iBAAyC,EACzCpB,KAAY,EACZqB,SAAkB,EAClBd,IAAY,EACZpB,eAAe,GAAGa,KAAK,CAACb,eAAe,EACvCmC,eAAe,GAAGtB,KAAK,CAAC3B,UAAU;EAMlC,MAAMkD,kBAAkB,GAAGxH,cAAc,CAACyC,KAAK,EAA+B;EAC9E,MAAMgF,aAAa,GAAGzH,cAAc,CAACyC,KAAK,EAA+B;EACzE,MAAMiF,OAAO,GAAGzH,cAAc,CAACwC,KAAK,EAAiB;EAErD,IAAIvC,MAAM,CAACsF,MAAM,CAAC+B,eAAe,CAAC,EAAE;IAClC,OAAO,CAACC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;EACrD;EACA,MAAMpD,UAAU,GAAGiD,eAAe,CAAC7D,KAAK;EAExC,KAAK,MAAMO,OAAO,IAAIoD,iBAAiB,EAAE;IACvC;IACA,IAAIM,SAAoC;IACxC,IAAIC,eAAyC;IAE7C,KAAK,MAAM,CAAChF,OAAO,EAAEhB,MAAM,CAAC,IAAIwD,eAAe,EAAE;MAC/C;MACA,MAAMyC,eAAe,GAAG7H,cAAc,CAACmB,GAAG,CAAC8E,KAAK,CAACtE,OAAO,EAAEiB,OAAO,CAAC;MAClE,IAAI1C,MAAM,CAACsF,MAAM,CAACqC,eAAe,CAAC,EAAE;MACpC,MAAMC,UAAU,GAAGD,eAAe,CAACnE,KAAK;MACxC,IAAIoE,UAAU,CAACjF,MAAM,CAAC4B,OAAO,KAAKH,UAAU,EAAE;MAE9C;MACA,IAAItE,cAAc,CAACkB,GAAG,CAACuG,aAAa,EAAE7E,OAAO,CAAC,EAAE;MAEhD;MACA;MACA,IAAI,CAAC0E,SAAS,EAAE;QACd,MAAMS,eAAe,GAAG7H,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACmB,GAAG,CAACqG,kBAAkB,EAAE5E,OAAO,CAAC,CAAC,EAAE2B,IAAI,IAAI,CAAC;QACzG,IAAIwD,eAAe,IAAI9B,KAAK,CAACrE,MAAM,CAAC2C,IAAI,GAAGiC,IAAI,EAAE;MACnD;MAEA,IAAImB,SAAS,KAAKjD,SAAS,IAAI9C,MAAM,CAAC2C,IAAI,GAAGqD,eAAgB,CAACrD,IAAI,EAAE;QAClEoD,SAAS,GAAG/E,OAAO;QACnBgF,eAAe,GAAGhG,MAAM;MAC1B;IACF;IACA,IAAI,CAAC+F,SAAS,IAAI,CAACC,eAAe,EAAE;IAEpC;IACA,MAAMI,SAAS,GAAG9H,MAAM,CAACwF,cAAc,CAACO,KAAK,CAACrE,MAAM,CAACT,GAAG,CAAC8C,OAAO,CAAC,IAAI/D,MAAM,CAACsE,IAAI,EAAE,CAAC;IACnF,IAAIwD,SAAS,IAAIA,SAAS,CAACC,QAAQ,EAAE,KAAKN,SAAS,CAACM,QAAQ,EAAE,EAAE;MAC9D;IACF;IACA,MAAMC,SAAS,GAAGF,SAAS,IAAI9H,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACmB,GAAG,CAACiE,eAAe,EAAE4C,SAAS,CAAC,CAAC;IAEpG;IACA;IACA,IAAIE,SAAS,IAAIN,eAAe,CAACrD,IAAI,GAAG,CAAC,IAAI2D,SAAS,CAAC3D,IAAI,EAAE;IAE7D;IACAvE,cAAc,CAACmI,QAAQ,CACrBX,kBAAkB,EAClBG,SAAS,EACTzH,MAAM,CAAC8G,KAAK,CAAC;MACXC,MAAM,EAAEA,CAAA,KAAM/G,MAAM,CAAC0E,IAAI,CAAC,IAAIW,GAAG,CAAC,CAACtB,OAAO,CAAC,CAAC,CAAC;MAC7CiD,MAAM,EAAGtF,MAAM,IAAI;QACjBA,MAAM,CAAC+D,GAAG,CAAC1B,OAAO,CAAC;QACnB,OAAO/D,MAAM,CAAC0E,IAAI,CAAChD,MAAM,CAAC;MAC5B;KACD,CAAC,CACH;IACD,IAAIoG,SAAS,EAAE;MACbhI,cAAc,CAACmI,QAAQ,CACrBV,aAAa,EACbO,SAAS,EACT9H,MAAM,CAAC8G,KAAK,CAAC;QACXC,MAAM,EAAEA,CAAA,KAAM/G,MAAM,CAAC0E,IAAI,CAAC,IAAIW,GAAG,CAAC,CAACtB,OAAO,CAAC,CAAC,CAAC;QAC7CiD,MAAM,EAAGtF,MAAM,IAAI;UACjBA,MAAM,CAAC+D,GAAG,CAAC1B,OAAO,CAAC;UACnB,OAAO/D,MAAM,CAAC0E,IAAI,CAAChD,MAAM,CAAC;QAC5B;OACD,CAAC,CACH;IACH;IAEA;IACAgG,eAAe,CAACjC,GAAG,CAAC1B,OAAO,CAAC;IAC5B,IAAIiE,SAAS,EAAE;MACbA,SAAS,CAACE,MAAM,CAACnE,OAAO,CAAC;IAC3B;IAEA;IACAhE,cAAc,CAAC0F,GAAG,CAAC+B,OAAO,EAAEC,SAAS,CAAC;IACtC,IAAIK,SAAS,EAAE/H,cAAc,CAAC0F,GAAG,CAAC+B,OAAO,EAAEM,SAAS,CAAC;EACvD;EAEA,OAAO,CAACR,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;AACrD;AAEA,SAASd,UAAUA,CAAIyB,IAAiB,EAAE1H,CAAS;EACjD,MAAM2H,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACH,IAAI,CAAC;EAC9B,IAAII,YAAY,GAAGH,KAAK,CAACnF,MAAM;EAC/B,OAAOsF,YAAY,IAAI,CAAC,EAAE;IACxB,MAAMC,WAAW,GAAG/B,IAAI,CAACgC,KAAK,CAAChC,IAAI,CAACiC,MAAM,EAAE,GAAGH,YAAY,CAAC;IAC5DA,YAAY,GAAGA,YAAY,GAAG,CAAC;IAC/BI,IAAI,CAACP,KAAK,EAAEG,YAAY,EAAEC,WAAW,CAAC;EACxC;EACA,OAAO/H,CAAC,GAAG2H,KAAK,CAACnF,MAAM,GAAGmF,KAAK,CAACQ,KAAK,CAAC,CAAC,EAAEnI,CAAC,CAAC,GAAG2H,KAAK;AACrD;AAEA,SAASO,IAAIA,CAAIP,KAAe,EAAExH,CAAS,EAAEiI,CAAS;EACpD,MAAMC,GAAG,GAAGV,KAAK,CAACxH,CAAC,CAAC;EACpBwH,KAAK,CAACxH,CAAC,CAAC,GAAGwH,KAAK,CAACS,CAAC,CAAC;EACnBT,KAAK,CAACS,CAAC,CAAC,GAAGC,GAAG;EACd,OAAOV,KAAK;AACd","ignoreList":[]}
|
1
|
+
{"version":3,"file":"shardManager.js","names":["Arr","_interopRequireWildcard","require","Clock","Effect","_Function","MutableHashMap","MutableHashSet","Option","Order","_RunnerHealth","_ShardId","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","ShardStorage","runnerHealth","RunnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","shardState","keys","shardId","ShardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","constFalse","shardsPerRunner","groupRunners","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassigned","unassignedShards","exports","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","runnerGroup","shardsGroup","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","toString","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import * as Cron from "effect/Cron";
|
2
|
+
import * as Duration from "effect/Duration";
|
3
|
+
import * as Effect from "effect/Effect";
|
4
|
+
import * as Layer from "effect/Layer";
|
5
|
+
import type { Scope } from "effect/Scope";
|
6
|
+
import type { Sharding } from "./Sharding.js";
|
7
|
+
/**
|
8
|
+
* @since 1.0.0
|
9
|
+
* @category Constructors
|
10
|
+
*/
|
11
|
+
export declare const make: <E, R>(options: {
|
12
|
+
readonly name: string;
|
13
|
+
readonly cron: Cron.Cron;
|
14
|
+
readonly execute: Effect.Effect<void, E, R>;
|
15
|
+
/**
|
16
|
+
* Choose a shard group to run this cron job on.
|
17
|
+
*/
|
18
|
+
readonly shardGroup?: string | undefined;
|
19
|
+
/**
|
20
|
+
* Whether to run the next cron job based from the time of the previous run.
|
21
|
+
*
|
22
|
+
* Defaults to `false`, meaning the next run will be calculated from the
|
23
|
+
* current time.
|
24
|
+
*/
|
25
|
+
readonly calculateNextRunFromPrevious?: boolean | undefined;
|
26
|
+
/**
|
27
|
+
* If set, the cron job will skip execution if the scheduled time is older
|
28
|
+
* than this duration.
|
29
|
+
*
|
30
|
+
* This is useful to prevent running jobs that were scheduled too far in the
|
31
|
+
* past.
|
32
|
+
*
|
33
|
+
* Defaults to "1 day".
|
34
|
+
*/
|
35
|
+
readonly skipIfOlderThan?: Duration.DurationInput | undefined;
|
36
|
+
}) => Layer.Layer<never, never, Sharding | Exclude<R, Scope>>;
|
37
|
+
//# sourceMappingURL=ClusterCron.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ClusterCron.d.ts","sourceRoot":"","sources":["../../src/ClusterCron.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7C;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,SAAS;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE3C;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAE3D;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC9D,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CA4DzD,CAAA"}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
* @since 1.0.0
|
3
3
|
*/
|
4
4
|
import * as Context from "effect/Context";
|
5
|
+
import type { EntityId } from "./EntityId.js";
|
5
6
|
declare const Persisted_base: Context.ReferenceClass<Persisted, "@effect/cluster/ClusterSchema/Persisted", boolean>;
|
6
7
|
/**
|
7
8
|
* @since 1.0.0
|
@@ -16,5 +17,12 @@ declare const Uninterruptible_base: Context.ReferenceClass<Uninterruptible, "@ef
|
|
16
17
|
*/
|
17
18
|
export declare class Uninterruptible extends Uninterruptible_base {
|
18
19
|
}
|
20
|
+
declare const ShardGroup_base: Context.ReferenceClass<ShardGroup, "@effect/cluster/ClusterSchema/ShardGroup", (entityId: EntityId) => string>;
|
21
|
+
/**
|
22
|
+
* @since 1.0.0
|
23
|
+
* @category Annotations
|
24
|
+
*/
|
25
|
+
export declare class ShardGroup extends ShardGroup_base {
|
26
|
+
}
|
19
27
|
export {};
|
20
28
|
//# sourceMappingURL=ClusterSchema.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ClusterSchema.d.ts","sourceRoot":"","sources":["../../src/ClusterSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;;
|
1
|
+
{"version":3,"file":"ClusterSchema.d.ts","sourceRoot":"","sources":["../../src/ClusterSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;;AAE7C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAE7B;CAAG;;AAEL;;;GAGG;AACH,qBAAa,eACX,SAAQ,oBAEN;CACF;yHAO6B,QAAQ,KAAK,MAAM;AALlD;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAE9B;CAAG"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ClusterWorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/ClusterWorkflowEngine.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAKlF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"ClusterWorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/ClusterWorkflowEngine.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAKlF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoVf,CAAA;AA2HF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,cAAc,EACd,KAAK,EACL,QAAQ,CAAC,QAAQ,GAAG,cAAc,CAInC,CAAA"}
|
package/dist/dts/Entity.d.ts
CHANGED
@@ -18,10 +18,12 @@ import { Scope } from "effect/Scope";
|
|
18
18
|
import type * as Stream from "effect/Stream";
|
19
19
|
import type { AlreadyProcessingMessage, EntityNotManagedByRunner, MailboxFull, PersistenceError } from "./ClusterError.js";
|
20
20
|
import { EntityAddress } from "./EntityAddress.js";
|
21
|
+
import type { EntityId } from "./EntityId.js";
|
21
22
|
import { EntityType } from "./EntityType.js";
|
22
23
|
import * as Envelope from "./Envelope.js";
|
23
24
|
import type * as Reply from "./Reply.js";
|
24
25
|
import { RunnerAddress } from "./RunnerAddress.js";
|
26
|
+
import * as ShardId from "./ShardId.js";
|
25
27
|
import type { Sharding } from "./Sharding.js";
|
26
28
|
import { ShardingConfig } from "./ShardingConfig.js";
|
27
29
|
/**
|
@@ -49,6 +51,14 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
49
51
|
* that the entity is capable of processing.
|
50
52
|
*/
|
51
53
|
readonly protocol: RpcGroup.RpcGroup<Rpcs>;
|
54
|
+
/**
|
55
|
+
* Get the shard group for the given EntityId.
|
56
|
+
*/
|
57
|
+
getShardGroup(entityId: EntityId): string;
|
58
|
+
/**
|
59
|
+
* Get the ShardId for the given EntityId.
|
60
|
+
*/
|
61
|
+
getShardId(entityId: EntityId): Effect.Effect<ShardId.ShardId, never, Sharding>;
|
52
62
|
/**
|
53
63
|
* Annotate the entity with a value.
|
54
64
|
*/
|
package/dist/dts/Entity.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/Entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGhD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/Entity.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,10 @@
|
|
1
1
|
/**
|
2
2
|
* @since 1.0.0
|
3
3
|
*/
|
4
|
+
import * as Equal from "effect/Equal";
|
4
5
|
import * as Hash from "effect/Hash";
|
5
6
|
import * as Schema from "effect/Schema";
|
7
|
+
import { ShardId } from "./ShardId.js";
|
6
8
|
/**
|
7
9
|
* @since 1.0.0
|
8
10
|
* @category type ids
|
@@ -14,15 +16,15 @@ export declare const TypeId: unique symbol;
|
|
14
16
|
*/
|
15
17
|
export type TypeId = typeof TypeId;
|
16
18
|
declare const EntityAddress_base: Schema.Class<EntityAddress, {
|
17
|
-
shardId:
|
19
|
+
shardId: typeof ShardId;
|
18
20
|
entityType: Schema.brand<typeof Schema.NonEmptyTrimmedString, "EntityType">;
|
19
21
|
entityId: Schema.brand<typeof Schema.NonEmptyTrimmedString, "EntityId">;
|
20
22
|
}, Schema.Struct.Encoded<{
|
21
|
-
shardId:
|
23
|
+
shardId: typeof ShardId;
|
22
24
|
entityType: Schema.brand<typeof Schema.NonEmptyTrimmedString, "EntityType">;
|
23
25
|
entityId: Schema.brand<typeof Schema.NonEmptyTrimmedString, "EntityId">;
|
24
26
|
}>, never, {
|
25
|
-
readonly shardId:
|
27
|
+
readonly shardId: ShardId;
|
26
28
|
} & {
|
27
29
|
readonly entityType: string & import("effect/Brand").Brand<"EntityType">;
|
28
30
|
} & {
|
@@ -39,6 +41,10 @@ export declare class EntityAddress extends EntityAddress_base {
|
|
39
41
|
* @since 1.0.0
|
40
42
|
*/
|
41
43
|
readonly [TypeId]: symbol;
|
44
|
+
/**
|
45
|
+
* @since 1.0.0
|
46
|
+
*/
|
47
|
+
[Equal.symbol](that: EntityAddress): boolean;
|
42
48
|
/**
|
43
49
|
* @since 1.0.0
|
44
50
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EntityAddress.d.ts","sourceRoot":"","sources":["../../src/EntityAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"EntityAddress.d.ts","sourceRoot":"","sources":["../../src/EntityAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA8B,CAAA;AAE1D;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;AAElC;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,kBAIjC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAU;IAE3B;;OAEG;IACH,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAK5C;;OAEG;IACH,CAAC,IAAI,CAAC,MAAM,CAAC;CAGd;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAE9D,CAAA"}
|
@@ -13,7 +13,7 @@ import type { EntityAddress } from "./EntityAddress.js";
|
|
13
13
|
import * as Envelope from "./Envelope.js";
|
14
14
|
import * as Message from "./Message.js";
|
15
15
|
import * as Reply from "./Reply.js";
|
16
|
-
import
|
16
|
+
import { ShardId } from "./ShardId.js";
|
17
17
|
import type { ShardingConfig } from "./ShardingConfig.js";
|
18
18
|
import * as Snowflake from "./Snowflake.js";
|
19
19
|
declare const MessageStorage_base: Context.TagClass<MessageStorage, "@effect/cluster/MessageStorage", {
|
@@ -238,7 +238,7 @@ export type Encoded = {
|
|
238
238
|
* - The latest AckChunk envelope
|
239
239
|
* - All Interrupt's for unprocessed requests
|
240
240
|
*/
|
241
|
-
readonly unprocessedMessages: (shardIds: ReadonlyArray<
|
241
|
+
readonly unprocessedMessages: (shardIds: ReadonlyArray<string>, now: number) => Effect.Effect<Array<{
|
242
242
|
readonly envelope: Envelope.Envelope.Encoded;
|
243
243
|
readonly lastSentReply: Option.Option<Reply.ReplyEncoded<any>>;
|
244
244
|
}>, PersistenceError>;
|
@@ -260,7 +260,7 @@ export type Encoded = {
|
|
260
260
|
/**
|
261
261
|
* Reset the mailbox state for the provided shards.
|
262
262
|
*/
|
263
|
-
readonly resetShards: (shardIds: ReadonlyArray<
|
263
|
+
readonly resetShards: (shardIds: ReadonlyArray<string>) => Effect.Effect<void, PersistenceError>;
|
264
264
|
};
|
265
265
|
/**
|
266
266
|
* @since 1.0.0
|