@effect/cluster 0.50.6 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RunnerStorage/package.json +6 -0
- package/SqlRunnerStorage/package.json +6 -0
- package/dist/cjs/ClusterError.js +2 -24
- package/dist/cjs/ClusterError.js.map +1 -1
- package/dist/cjs/ClusterMetrics.js +13 -15
- package/dist/cjs/ClusterMetrics.js.map +1 -1
- package/dist/cjs/ClusterSchema.js +17 -2
- package/dist/cjs/ClusterSchema.js.map +1 -1
- package/dist/cjs/ClusterWorkflowEngine.js +50 -83
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +1 -13
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/EntityAddress.js +9 -1
- package/dist/cjs/EntityAddress.js.map +1 -1
- package/dist/cjs/EntityId.js +7 -1
- package/dist/cjs/EntityId.js.map +1 -1
- package/dist/cjs/EntityProxy.js +1 -1
- package/dist/cjs/EntityProxy.js.map +1 -1
- package/dist/cjs/HttpRunner.js +69 -43
- package/dist/cjs/HttpRunner.js.map +1 -1
- package/dist/cjs/MessageStorage.js +64 -16
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/Runner.js +3 -3
- package/dist/cjs/Runner.js.map +1 -1
- package/dist/cjs/RunnerAddress.js +7 -0
- package/dist/cjs/RunnerAddress.js.map +1 -1
- package/dist/cjs/RunnerHealth.js +91 -32
- package/dist/cjs/RunnerHealth.js.map +1 -1
- package/dist/cjs/RunnerServer.js +38 -24
- package/dist/cjs/RunnerServer.js.map +1 -1
- package/dist/cjs/RunnerStorage.js +100 -0
- package/dist/cjs/RunnerStorage.js.map +1 -0
- package/dist/cjs/Runners.js +18 -22
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/ShardId.js +17 -7
- package/dist/cjs/ShardId.js.map +1 -1
- package/dist/cjs/Sharding.js +444 -320
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +10 -14
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Snowflake.js +1 -1
- package/dist/cjs/SocketRunner.js +1 -1
- package/dist/cjs/SocketRunner.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +22 -28
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlRunnerStorage.js +375 -0
- package/dist/cjs/SqlRunnerStorage.js.map +1 -0
- package/dist/cjs/index.js +5 -15
- package/dist/cjs/internal/entityManager.js +42 -23
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterError.d.ts +0 -22
- package/dist/dts/ClusterError.d.ts.map +1 -1
- package/dist/dts/ClusterMetrics.d.ts +4 -14
- package/dist/dts/ClusterMetrics.d.ts.map +1 -1
- package/dist/dts/ClusterSchema.d.ts +9 -1
- package/dist/dts/ClusterSchema.d.ts.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +3 -14
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/EntityAddress.d.ts +11 -0
- package/dist/dts/EntityAddress.d.ts.map +1 -1
- package/dist/dts/EntityId.d.ts +5 -0
- package/dist/dts/EntityId.d.ts.map +1 -1
- package/dist/dts/EntityProxy.d.ts +5 -6
- package/dist/dts/EntityProxy.d.ts.map +1 -1
- package/dist/dts/HttpRunner.d.ts +48 -25
- package/dist/dts/HttpRunner.d.ts.map +1 -1
- package/dist/dts/MessageStorage.d.ts +13 -5
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/Runner.d.ts +4 -4
- package/dist/dts/Runner.d.ts.map +1 -1
- package/dist/dts/RunnerAddress.d.ts +5 -0
- package/dist/dts/RunnerAddress.d.ts.map +1 -1
- package/dist/dts/RunnerHealth.d.ts +24 -16
- package/dist/dts/RunnerHealth.d.ts.map +1 -1
- package/dist/dts/RunnerServer.d.ts +5 -4
- package/dist/dts/RunnerServer.d.ts.map +1 -1
- package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
- package/dist/dts/RunnerStorage.d.ts.map +1 -0
- package/dist/dts/Runners.d.ts +15 -11
- package/dist/dts/Runners.d.ts.map +1 -1
- package/dist/dts/ShardId.d.ts +1 -1
- package/dist/dts/ShardId.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +20 -10
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +40 -14
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/dts/SocketRunner.d.ts +4 -3
- package/dist/dts/SocketRunner.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +2 -3
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/dts/SqlRunnerStorage.d.ts +40 -0
- package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -24
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/ClusterError.js +0 -21
- package/dist/esm/ClusterError.js.map +1 -1
- package/dist/esm/ClusterMetrics.js +12 -14
- package/dist/esm/ClusterMetrics.js.map +1 -1
- package/dist/esm/ClusterSchema.js +17 -2
- package/dist/esm/ClusterSchema.js.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +50 -83
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +0 -12
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/EntityAddress.js +7 -0
- package/dist/esm/EntityAddress.js.map +1 -1
- package/dist/esm/EntityId.js +5 -0
- package/dist/esm/EntityId.js.map +1 -1
- package/dist/esm/EntityProxy.js +2 -2
- package/dist/esm/EntityProxy.js.map +1 -1
- package/dist/esm/HttpRunner.js +62 -39
- package/dist/esm/HttpRunner.js.map +1 -1
- package/dist/esm/MessageStorage.js +65 -17
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/Runner.js +3 -3
- package/dist/esm/Runner.js.map +1 -1
- package/dist/esm/RunnerAddress.js +7 -0
- package/dist/esm/RunnerAddress.js.map +1 -1
- package/dist/esm/RunnerHealth.js +88 -30
- package/dist/esm/RunnerHealth.js.map +1 -1
- package/dist/esm/RunnerServer.js +38 -24
- package/dist/esm/RunnerServer.js.map +1 -1
- package/dist/esm/RunnerStorage.js +90 -0
- package/dist/esm/RunnerStorage.js.map +1 -0
- package/dist/esm/Runners.js +19 -23
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/ShardId.js +16 -6
- package/dist/esm/ShardId.js.map +1 -1
- package/dist/esm/Sharding.js +447 -323
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +10 -14
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Snowflake.js +1 -1
- package/dist/esm/SocketRunner.js +1 -1
- package/dist/esm/SocketRunner.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +22 -28
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlRunnerStorage.js +366 -0
- package/dist/esm/SqlRunnerStorage.js.map +1 -0
- package/dist/esm/index.js +4 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/entityManager.js +41 -22
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +20 -60
- package/src/ClusterError.ts +0 -24
- package/src/ClusterMetrics.ts +12 -16
- package/src/ClusterSchema.ts +17 -2
- package/src/ClusterWorkflowEngine.ts +48 -80
- package/src/Entity.ts +3 -21
- package/src/EntityAddress.ts +10 -0
- package/src/EntityId.ts +6 -0
- package/src/EntityProxy.ts +10 -10
- package/src/HttpRunner.ts +132 -67
- package/src/MessageStorage.ts +89 -24
- package/src/Runner.ts +4 -4
- package/src/RunnerAddress.ts +8 -0
- package/src/RunnerHealth.ts +119 -56
- package/src/RunnerServer.ts +64 -47
- package/src/RunnerStorage.ts +218 -0
- package/src/Runners.ts +32 -45
- package/src/ShardId.ts +14 -3
- package/src/Sharding.ts +561 -417
- package/src/ShardingConfig.ts +39 -31
- package/src/Snowflake.ts +1 -1
- package/src/SocketRunner.ts +6 -4
- package/src/SqlMessageStorage.ts +28 -30
- package/src/SqlRunnerStorage.ts +537 -0
- package/src/index.ts +4 -29
- package/src/internal/entityManager.ts +45 -29
- package/HttpCommon/package.json +0 -6
- package/HttpShardManager/package.json +0 -6
- package/ShardManager/package.json +0 -6
- package/ShardStorage/package.json +0 -6
- package/SocketShardManager/package.json +0 -6
- package/SqlShardStorage/package.json +0 -6
- package/SynchronizedClock/package.json +0 -6
- package/dist/cjs/HttpCommon.js +0 -48
- package/dist/cjs/HttpCommon.js.map +0 -1
- package/dist/cjs/HttpShardManager.js +0 -139
- package/dist/cjs/HttpShardManager.js.map +0 -1
- package/dist/cjs/ShardManager.js +0 -549
- package/dist/cjs/ShardManager.js.map +0 -1
- package/dist/cjs/ShardStorage.js +0 -151
- package/dist/cjs/ShardStorage.js.map +0 -1
- package/dist/cjs/SocketShardManager.js +0 -32
- package/dist/cjs/SocketShardManager.js.map +0 -1
- package/dist/cjs/SqlShardStorage.js +0 -253
- package/dist/cjs/SqlShardStorage.js.map +0 -1
- package/dist/cjs/SynchronizedClock.js +0 -65
- package/dist/cjs/SynchronizedClock.js.map +0 -1
- package/dist/cjs/internal/shardManager.js +0 -353
- package/dist/cjs/internal/shardManager.js.map +0 -1
- package/dist/dts/HttpCommon.d.ts +0 -25
- package/dist/dts/HttpCommon.d.ts.map +0 -1
- package/dist/dts/HttpShardManager.d.ts +0 -119
- package/dist/dts/HttpShardManager.d.ts.map +0 -1
- package/dist/dts/ShardManager.d.ts +0 -459
- package/dist/dts/ShardManager.d.ts.map +0 -1
- package/dist/dts/ShardStorage.d.ts.map +0 -1
- package/dist/dts/SocketShardManager.d.ts +0 -17
- package/dist/dts/SocketShardManager.d.ts.map +0 -1
- package/dist/dts/SqlShardStorage.d.ts +0 -38
- package/dist/dts/SqlShardStorage.d.ts.map +0 -1
- package/dist/dts/SynchronizedClock.d.ts +0 -19
- package/dist/dts/SynchronizedClock.d.ts.map +0 -1
- package/dist/dts/internal/shardManager.d.ts +0 -2
- package/dist/dts/internal/shardManager.d.ts.map +0 -1
- package/dist/esm/HttpCommon.js +0 -38
- package/dist/esm/HttpCommon.js.map +0 -1
- package/dist/esm/HttpShardManager.js +0 -128
- package/dist/esm/HttpShardManager.js.map +0 -1
- package/dist/esm/ShardManager.js +0 -535
- package/dist/esm/ShardManager.js.map +0 -1
- package/dist/esm/ShardStorage.js +0 -141
- package/dist/esm/ShardStorage.js.map +0 -1
- package/dist/esm/SocketShardManager.js +0 -24
- package/dist/esm/SocketShardManager.js.map +0 -1
- package/dist/esm/SqlShardStorage.js +0 -244
- package/dist/esm/SqlShardStorage.js.map +0 -1
- package/dist/esm/SynchronizedClock.js +0 -57
- package/dist/esm/SynchronizedClock.js.map +0 -1
- package/dist/esm/internal/shardManager.js +0 -342
- package/dist/esm/internal/shardManager.js.map +0 -1
- package/src/HttpCommon.ts +0 -73
- package/src/HttpShardManager.ts +0 -273
- package/src/ShardManager.ts +0 -823
- package/src/ShardStorage.ts +0 -297
- package/src/SocketShardManager.ts +0 -48
- package/src/SqlShardStorage.ts +0 -329
- package/src/SynchronizedClock.ts +0 -82
- package/src/internal/shardManager.ts +0 -412
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlMessageStorage.js","names":["Migrator","_interopRequireWildcard","require","SqlClient","Arr","Effect","Layer","Option","Schedule","_ClusterError","_MessageStorage","MessageStorage","_ShardId","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","sql","withoutTransforms","prefix","table","name","orDie","loader","migrations","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","ShardId","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","undefined","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","onDialectOrElse","mssql","sqlite","orElse","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","pg","insert","pipe","flatMap","rows","length","succeed","mysql","raw","affectedRows","tap","withTransaction","retry","times","fiveMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","map","join","unprepared","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","SaveResultEncoded","Success","replyKindNum","reply_kind","Duplicate","originalId","lastReceivedReply","provideService","SafeIntegers","PersistenceError","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith","fromRecord","gen","ignore","shardLookupIndex","requestIdLookupIndex","tapDefect","error","annotateLogs","logDebug","package","module","schedule","spaced","all","replyLookupIndex"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SqlMessageStorage.js","names":["Migrator","_interopRequireWildcard","require","SqlClient","Arr","Effect","Layer","Option","Schedule","_ClusterError","_MessageStorage","MessageStorage","_ShardId","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","sql","withoutTransforms","prefix","table","name","orDie","loader","migrations","messageKindAckChunk","literal","String","messageKind","AckChunk","messageKindInterrupt","Interrupt","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","ShardId","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","undefined","supportsBooleans","request_id","reply_id","replyId","replyToRow","reply","exit","values","sequence","onDialectOrElse","mssql","sqlite","orElse","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","pg","insert","pipe","flatMap","rows","length","succeed","mysql","raw","affectedRows","tap","withTransaction","retry","times","tenMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","map","join","unprepared","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","SaveResultEncoded","Success","replyKindNum","reply_kind","Duplicate","originalId","lastReceivedReply","provideService","SafeIntegers","PersistenceError","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith","fromRecord","gen","ignore","shardLookupIndex","requestIdLookupIndex","tapDefect","error","annotateLogs","logDebug","package","module","schedule","spaced","all","replyLookupIndex"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.make = exports.layerWith = exports.layer = void 0;
|
|
7
|
+
var SqlClient = _interopRequireWildcard(require("@effect/sql/SqlClient"));
|
|
8
|
+
var Arr = _interopRequireWildcard(require("effect/Array"));
|
|
9
|
+
var Duration = _interopRequireWildcard(require("effect/Duration"));
|
|
10
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
+
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
12
|
+
var Resource = _interopRequireWildcard(require("effect/Resource"));
|
|
13
|
+
var _ClusterError = require("./ClusterError.js");
|
|
14
|
+
var RunnerStorage = _interopRequireWildcard(require("./RunnerStorage.js"));
|
|
15
|
+
var ShardId = _interopRequireWildcard(require("./ShardId.js"));
|
|
16
|
+
var ShardingConfig = _interopRequireWildcard(require("./ShardingConfig.js"));
|
|
17
|
+
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); }
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
|
|
23
|
+
/**
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @category Constructors
|
|
26
|
+
*/
|
|
27
|
+
const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
28
|
+
const config = yield* ShardingConfig.ShardingConfig;
|
|
29
|
+
const sql = (yield* SqlClient.SqlClient).withoutTransforms();
|
|
30
|
+
const prefix = options?.prefix ?? "cluster";
|
|
31
|
+
const table = name => `${prefix}_${name}`;
|
|
32
|
+
const acquireLockConn = sql.onDialectOrElse({
|
|
33
|
+
pg: () => Effect.gen(function* () {
|
|
34
|
+
const conn = yield* Effect.orDie(sql.reserve);
|
|
35
|
+
yield* Effect.addFinalizer(() => Effect.orDie(conn.executeRaw("SELECT pg_advisory_unlock_all()", [])));
|
|
36
|
+
return conn;
|
|
37
|
+
}),
|
|
38
|
+
mysql: () => Effect.gen(function* () {
|
|
39
|
+
const conn = yield* Effect.orDie(sql.reserve);
|
|
40
|
+
yield* Effect.addFinalizer(() => Effect.orDie(conn.executeRaw("SELECT RELEASE_ALL_LOCKS()", [])));
|
|
41
|
+
return conn;
|
|
42
|
+
}),
|
|
43
|
+
orElse: () => undefined
|
|
44
|
+
});
|
|
45
|
+
const lockConnRef = acquireLockConn && (yield* Resource.manual(acquireLockConn));
|
|
46
|
+
const runnersTable = table("runners");
|
|
47
|
+
const runnersTableSql = sql(runnersTable);
|
|
48
|
+
// Migrate old tables if they exist
|
|
49
|
+
// TODO: Remove in next major version
|
|
50
|
+
const hasOldTables = yield* sql`SELECT shard_id FROM ${sql(table("shards"))} LIMIT 1`.pipe(Effect.isSuccess);
|
|
51
|
+
if (hasOldTables) {
|
|
52
|
+
yield* sql`DROP TABLE ${sql(table("shards"))}`.pipe(Effect.ignore);
|
|
53
|
+
yield* sql`DROP TABLE ${runnersTableSql}`.pipe(Effect.ignore);
|
|
54
|
+
}
|
|
55
|
+
yield* sql.onDialectOrElse({
|
|
56
|
+
mssql: () => sql`
|
|
57
|
+
IF OBJECT_ID(N'${runnersTableSql}', N'U') IS NULL
|
|
58
|
+
CREATE TABLE ${runnersTableSql} (
|
|
59
|
+
machine_id INT IDENTITY PRIMARY KEY,
|
|
60
|
+
address VARCHAR(255) NOT NULL,
|
|
61
|
+
runner TEXT NOT NULL,
|
|
62
|
+
healthy BIT NOT NULL DEFAULT 1,
|
|
63
|
+
last_heartbeat DATETIME NOT NULL DEFAULT GETDATE(),
|
|
64
|
+
UNIQUE(address)
|
|
65
|
+
)
|
|
66
|
+
`,
|
|
67
|
+
mysql: () => sql`
|
|
68
|
+
CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
|
|
69
|
+
machine_id INT AUTO_INCREMENT PRIMARY KEY,
|
|
70
|
+
address VARCHAR(255) NOT NULL,
|
|
71
|
+
runner TEXT NOT NULL,
|
|
72
|
+
healthy BOOLEAN NOT NULL DEFAULT TRUE,
|
|
73
|
+
last_heartbeat DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
74
|
+
UNIQUE(address)
|
|
75
|
+
)
|
|
76
|
+
`,
|
|
77
|
+
pg: () => sql`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
|
|
79
|
+
machine_id SERIAL PRIMARY KEY,
|
|
80
|
+
address VARCHAR(255) NOT NULL,
|
|
81
|
+
runner TEXT NOT NULL,
|
|
82
|
+
healthy BOOLEAN NOT NULL DEFAULT TRUE,
|
|
83
|
+
last_heartbeat TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
84
|
+
UNIQUE(address)
|
|
85
|
+
)
|
|
86
|
+
`,
|
|
87
|
+
orElse: () =>
|
|
88
|
+
// sqlite
|
|
89
|
+
sql`
|
|
90
|
+
CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
|
|
91
|
+
machine_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
92
|
+
address TEXT NOT NULL,
|
|
93
|
+
runner TEXT NOT NULL,
|
|
94
|
+
healthy INTEGER NOT NULL DEFAULT 1,
|
|
95
|
+
last_heartbeat DATETIME NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
|
96
|
+
UNIQUE(address)
|
|
97
|
+
)
|
|
98
|
+
`
|
|
99
|
+
});
|
|
100
|
+
const locksTable = table("locks");
|
|
101
|
+
const locksTableSql = sql(locksTable);
|
|
102
|
+
yield* sql.onDialectOrElse({
|
|
103
|
+
mssql: () => sql`
|
|
104
|
+
IF OBJECT_ID(N'${locksTableSql}', N'U') IS NULL
|
|
105
|
+
CREATE TABLE ${locksTableSql} (
|
|
106
|
+
shard_id VARCHAR(50) PRIMARY KEY,
|
|
107
|
+
address VARCHAR(255) NOT NULL,
|
|
108
|
+
acquired_at DATETIME NOT NULL
|
|
109
|
+
)
|
|
110
|
+
`,
|
|
111
|
+
mysql: () => Effect.void,
|
|
112
|
+
pg: () => Effect.void,
|
|
113
|
+
orElse: () =>
|
|
114
|
+
// sqlite
|
|
115
|
+
sql`
|
|
116
|
+
CREATE TABLE IF NOT EXISTS ${locksTableSql} (
|
|
117
|
+
shard_id TEXT PRIMARY KEY,
|
|
118
|
+
address TEXT NOT NULL,
|
|
119
|
+
acquired_at DATETIME NOT NULL
|
|
120
|
+
)
|
|
121
|
+
`
|
|
122
|
+
});
|
|
123
|
+
const sqlNowString = sql.onDialectOrElse({
|
|
124
|
+
pg: () => "NOW()",
|
|
125
|
+
mysql: () => "NOW()",
|
|
126
|
+
mssql: () => "GETDATE()",
|
|
127
|
+
orElse: () => "CURRENT_TIMESTAMP"
|
|
128
|
+
});
|
|
129
|
+
const sqlNow = sql.literal(sqlNowString);
|
|
130
|
+
const expiresSeconds = sql.literal(Math.ceil(Duration.toSeconds(config.shardLockExpiration)).toString());
|
|
131
|
+
const lockExpiresAt = sql.onDialectOrElse({
|
|
132
|
+
pg: () => sql`${sqlNow} - INTERVAL '${expiresSeconds} seconds'`,
|
|
133
|
+
mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL ${expiresSeconds} SECOND)`,
|
|
134
|
+
mssql: () => sql`DATEADD(SECOND, -${expiresSeconds}, ${sqlNow})`,
|
|
135
|
+
orElse: () => sql`datetime(${sqlNow}, '-${expiresSeconds} seconds')`
|
|
136
|
+
});
|
|
137
|
+
const encodeBoolean = sql.onDialectOrElse({
|
|
138
|
+
mssql: () => b => b ? 1 : 0,
|
|
139
|
+
sqlite: () => b => b ? 1 : 0,
|
|
140
|
+
orElse: () => b => b
|
|
141
|
+
});
|
|
142
|
+
// Upsert runner and return machine_id
|
|
143
|
+
const insertRunner = sql.onDialectOrElse({
|
|
144
|
+
mssql: () => (address, runner, healthy) => sql`
|
|
145
|
+
MERGE ${runnersTableSql} AS target
|
|
146
|
+
USING (SELECT ${address} AS address, ${runner} AS runner, ${sqlNow} AS last_heartbeat, ${encodeBoolean(healthy)} AS healthy) AS source
|
|
147
|
+
ON target.address = source.address
|
|
148
|
+
WHEN MATCHED THEN
|
|
149
|
+
UPDATE SET runner = source.runner, last_heartbeat = source.last_heartbeat, healthy = source.healthy
|
|
150
|
+
WHEN NOT MATCHED THEN
|
|
151
|
+
INSERT (address, runner, last_heartbeat, healthy)
|
|
152
|
+
VALUES (source.address, source.runner, source.last_heartbeat, source.healthy)
|
|
153
|
+
OUTPUT INSERTED.machine_id;
|
|
154
|
+
`.values,
|
|
155
|
+
mysql: () => (address, runner, healthy) => sql`
|
|
156
|
+
INSERT INTO ${runnersTableSql} (address, runner, last_heartbeat, healthy)
|
|
157
|
+
VALUES (${address}, ${runner}, ${sqlNow}, ${healthy})
|
|
158
|
+
ON DUPLICATE KEY UPDATE
|
|
159
|
+
runner = VALUES(runner),
|
|
160
|
+
last_heartbeat = VALUES(last_heartbeat),
|
|
161
|
+
healthy = VALUES(healthy);
|
|
162
|
+
SELECT machine_id FROM ${runnersTableSql} WHERE address = ${address};
|
|
163
|
+
`.unprepared.pipe(Effect.map(results => [[results[1][0].machine_id]])),
|
|
164
|
+
pg: () => (address, runner, healthy) => sql`
|
|
165
|
+
INSERT INTO ${runnersTableSql} (address, runner, last_heartbeat, healthy)
|
|
166
|
+
VALUES (${address}, ${runner}, ${sqlNow}, ${healthy})
|
|
167
|
+
ON CONFLICT (address) DO UPDATE
|
|
168
|
+
SET runner = EXCLUDED.runner,
|
|
169
|
+
last_heartbeat = EXCLUDED.last_heartbeat,
|
|
170
|
+
healthy = EXCLUDED.healthy
|
|
171
|
+
RETURNING machine_id
|
|
172
|
+
`.values,
|
|
173
|
+
orElse: () => (address, runner, healthy) =>
|
|
174
|
+
// sqlite
|
|
175
|
+
sql`
|
|
176
|
+
INSERT INTO ${runnersTableSql} (address, runner, last_heartbeat, healthy)
|
|
177
|
+
VALUES (${address}, ${runner}, ${sqlNow}, ${encodeBoolean(healthy)})
|
|
178
|
+
ON CONFLICT(address) DO UPDATE SET
|
|
179
|
+
runner = excluded.runner,
|
|
180
|
+
last_heartbeat = excluded.last_heartbeat,
|
|
181
|
+
healthy = excluded.healthy
|
|
182
|
+
RETURNING machine_id;
|
|
183
|
+
`.values
|
|
184
|
+
});
|
|
185
|
+
const execWithLockConn = effect => {
|
|
186
|
+
if (!lockConnRef) return effect;
|
|
187
|
+
const [query, params] = effect.compile();
|
|
188
|
+
return Resource.get(lockConnRef).pipe(Effect.flatMap(conn => conn.executeRaw(query, params)), Effect.onError(() => Resource.refresh(lockConnRef)));
|
|
189
|
+
};
|
|
190
|
+
const execWithLockConnValues = effect => {
|
|
191
|
+
if (!lockConnRef) return effect.values;
|
|
192
|
+
const [query, params] = effect.compile();
|
|
193
|
+
return Resource.get(lockConnRef).pipe(Effect.flatMap(conn => conn.executeValues(query, params)), Effect.onError(() => Resource.refresh(lockConnRef)));
|
|
194
|
+
};
|
|
195
|
+
const acquireLock = sql.onDialectOrElse({
|
|
196
|
+
pg: () => Effect.fnUntraced(function* (_address, shardIds) {
|
|
197
|
+
const conn = yield* Resource.get(lockConnRef);
|
|
198
|
+
const acquiredShardIds = [];
|
|
199
|
+
const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
|
|
200
|
+
const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() ORDER BY objid`, []);
|
|
201
|
+
for (let i = 0; i < takenLocks.length; i++) {
|
|
202
|
+
const lockNum = takenLocks[i][0];
|
|
203
|
+
acquiredShardIds.push(lockNumbersReverse.get(lockNum));
|
|
204
|
+
toAcquire.delete(lockNum);
|
|
205
|
+
}
|
|
206
|
+
if (toAcquire.size === 0) {
|
|
207
|
+
return acquiredShardIds;
|
|
208
|
+
}
|
|
209
|
+
const results = (yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined))[0];
|
|
210
|
+
for (const shardId in results) {
|
|
211
|
+
if (results[shardId]) {
|
|
212
|
+
acquiredShardIds.push(shardId);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return acquiredShardIds;
|
|
216
|
+
}, Effect.onError(() => Resource.refresh(lockConnRef))),
|
|
217
|
+
mysql: () => Effect.fnUntraced(function* (_address, shardIds) {
|
|
218
|
+
const conn = yield* Resource.get(lockConnRef);
|
|
219
|
+
const takenLocks = (yield* conn.executeUnprepared(`SELECT ${allMySqlTakenLocks}`, [], undefined))[0];
|
|
220
|
+
const acquiredShardIds = [];
|
|
221
|
+
const toAcquire = [];
|
|
222
|
+
for (const shardId in takenLocks) {
|
|
223
|
+
if (takenLocks[shardId] === 1) {
|
|
224
|
+
acquiredShardIds.push(shardId);
|
|
225
|
+
} else if (shardIds.includes(shardId)) {
|
|
226
|
+
toAcquire.push(shardId);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (toAcquire.length === 0) {
|
|
230
|
+
return acquiredShardIds;
|
|
231
|
+
}
|
|
232
|
+
const results = (yield* conn.executeUnprepared(`SELECT ${mysqlLocks(toAcquire)}`, [], undefined))[0];
|
|
233
|
+
for (const shardId in results) {
|
|
234
|
+
if (results[shardId] === 1) {
|
|
235
|
+
acquiredShardIds.push(shardId);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return acquiredShardIds;
|
|
239
|
+
}, Effect.onError(() => Resource.refresh(lockConnRef))),
|
|
240
|
+
mssql: () => (address, shardIds) => {
|
|
241
|
+
const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
|
|
242
|
+
return sql`
|
|
243
|
+
MERGE ${locksTableSql} WITH (HOLDLOCK) AS target
|
|
244
|
+
USING (SELECT * FROM (VALUES ${sql.csv(values)})) AS source (shard_id, address, acquired_at)
|
|
245
|
+
ON target.shard_id = source.shard_id
|
|
246
|
+
WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > ${expiresSeconds}) THEN
|
|
247
|
+
UPDATE SET address = source.address, acquired_at = source.acquired_at
|
|
248
|
+
WHEN NOT MATCHED THEN
|
|
249
|
+
INSERT (shard_id, address, acquired_at)
|
|
250
|
+
VALUES (source.shard_id, source.address, source.acquired_at);
|
|
251
|
+
`.pipe(Effect.andThen(acquiredLocks(address, shardIds)), sql.withTransaction);
|
|
252
|
+
},
|
|
253
|
+
orElse: () => (address, shardIds) => {
|
|
254
|
+
const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
|
|
255
|
+
return sql`
|
|
256
|
+
WITH source(shard_id, address, acquired_at) AS (VALUES ${sql.csv(values)})
|
|
257
|
+
INSERT INTO ${locksTableSql} (shard_id, address, acquired_at)
|
|
258
|
+
SELECT source.shard_id, source.address, source.acquired_at
|
|
259
|
+
FROM source
|
|
260
|
+
WHERE NOT EXISTS (
|
|
261
|
+
SELECT 1 FROM ${locksTableSql}
|
|
262
|
+
WHERE shard_id = source.shard_id
|
|
263
|
+
AND address != ${address}
|
|
264
|
+
AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= ${expiresSeconds}
|
|
265
|
+
)
|
|
266
|
+
ON CONFLICT(shard_id) DO UPDATE
|
|
267
|
+
SET address = ${address}, acquired_at = ${sqlNow}
|
|
268
|
+
`.pipe(Effect.andThen(acquiredLocks(address, shardIds)), sql.withTransaction);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
const lockNumbers = new Map();
|
|
272
|
+
const lockNumbersReverse = new Map();
|
|
273
|
+
for (let i = 0; i < config.shardGroups.length; i++) {
|
|
274
|
+
const group = config.shardGroups[i];
|
|
275
|
+
const base = (i + 1) * 1000000;
|
|
276
|
+
for (let shard = 1; shard <= config.shardsPerGroup; shard++) {
|
|
277
|
+
const shardId = ShardId.make(group, shard).toString();
|
|
278
|
+
const lockNum = base + shard;
|
|
279
|
+
lockNumbers.set(shardId, lockNum);
|
|
280
|
+
lockNumbersReverse.set(lockNum, shardId);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const lockNames = new Map();
|
|
284
|
+
const lockNamesReverse = new Map();
|
|
285
|
+
for (let i = 0; i < config.shardGroups.length; i++) {
|
|
286
|
+
const group = config.shardGroups[i];
|
|
287
|
+
for (let shard = 1; shard <= config.shardsPerGroup; shard++) {
|
|
288
|
+
const shardId = ShardId.make(group, shard).toString();
|
|
289
|
+
const lockName = `${prefix}.${shardId}`;
|
|
290
|
+
lockNames.set(shardId, lockName);
|
|
291
|
+
lockNamesReverse.set(lockName, shardId);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
const pgLocks = shardIdsMap => Array.from(shardIdsMap.entries(), ([lockNum, shardId]) => `pg_try_advisory_lock(${lockNum}) AS "${shardId}"`).join(", ");
|
|
295
|
+
const mysqlLocks = shardIds => shardIds.map(shardId => `GET_LOCK('${lockNames.get(shardId)}', 0) AS "${shardId}"`).join(", ");
|
|
296
|
+
const allMySqlTakenLocks = Array.from(lockNames.entries(), ([shardId, lockName]) => `IS_USED_LOCK('${lockName}') = CONNECTION_ID() AS "${shardId}"`).join(", ");
|
|
297
|
+
const acquiredLocks = (address, shardIds) => sql`
|
|
298
|
+
SELECT shard_id FROM ${sql(locksTable)}
|
|
299
|
+
WHERE address = ${address}
|
|
300
|
+
AND acquired_at >= ${lockExpiresAt}
|
|
301
|
+
AND shard_id IN ${stringLiteralArr(shardIds)}
|
|
302
|
+
`.values.pipe(Effect.map(rows => rows.map(row => row[0])));
|
|
303
|
+
const wrapString = sql.onDialectOrElse({
|
|
304
|
+
mssql: () => s => `N'${s}'`,
|
|
305
|
+
orElse: () => s => `'${s}'`
|
|
306
|
+
});
|
|
307
|
+
const stringLiteral = s => sql.literal(wrapString(s));
|
|
308
|
+
const stringLiteralArr = arr => sql.literal(`(${arr.map(wrapString).join(",")})`);
|
|
309
|
+
const refreshShards = sql.onDialectOrElse({
|
|
310
|
+
pg: () => acquireLock,
|
|
311
|
+
mysql: () => acquireLock,
|
|
312
|
+
mssql: () => (address, shardIds) => sql`
|
|
313
|
+
UPDATE ${locksTableSql}
|
|
314
|
+
SET acquired_at = ${sqlNow}
|
|
315
|
+
OUTPUT inserted.shard_id
|
|
316
|
+
WHERE address = ${address} AND shard_id IN ${stringLiteralArr(shardIds)}
|
|
317
|
+
`.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0]))),
|
|
318
|
+
orElse: () => (address, shardIds) => sql`
|
|
319
|
+
UPDATE ${locksTableSql}
|
|
320
|
+
SET acquired_at = ${sqlNow}
|
|
321
|
+
WHERE address = ${address} AND shard_id IN ${stringLiteralArr(shardIds)}
|
|
322
|
+
RETURNING shard_id
|
|
323
|
+
`.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0])))
|
|
324
|
+
});
|
|
325
|
+
return RunnerStorage.makeEncoded({
|
|
326
|
+
getRunners: sql`SELECT runner, healthy FROM ${runnersTableSql} WHERE last_heartbeat > ${lockExpiresAt}`.values.pipe(_ClusterError.PersistenceError.refail, Effect.map(Arr.map(([runner, healthy]) => [String(runner), Boolean(healthy)])), withTracerDisabled),
|
|
327
|
+
register: (address, runner, healthy) => insertRunner(address, runner, healthy).pipe(Effect.map(rows => Number(rows[0][0])), _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
328
|
+
unregister: address => sql`DELETE FROM ${runnersTableSql} WHERE address = ${address} OR last_heartbeat < ${lockExpiresAt}`.pipe(Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
329
|
+
setRunnerHealth: (address, healthy) => sql`UPDATE ${runnersTableSql} SET healthy = ${encodeBoolean(healthy)} WHERE address = ${address}`.pipe(Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
330
|
+
acquire: (address, shardIds) => acquireLock(address, shardIds).pipe(_ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
331
|
+
refresh: (address, shardIds) => sql`UPDATE ${runnersTableSql} SET last_heartbeat = ${sqlNow} WHERE address = ${address}`.pipe(execWithLockConn, shardIds.length > 0 ? Effect.andThen(refreshShards(address, shardIds)) : Effect.as([]), _ClusterError.PersistenceError.refail),
|
|
332
|
+
release: sql.onDialectOrElse({
|
|
333
|
+
pg: () => Effect.fnUntraced(function* (_address, shardId) {
|
|
334
|
+
const lockNum = lockNumbers.get(shardId);
|
|
335
|
+
const conn = yield* Resource.get(lockConnRef);
|
|
336
|
+
const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
|
|
337
|
+
const check = conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
|
|
338
|
+
while (true) {
|
|
339
|
+
yield* release;
|
|
340
|
+
const takenLocks = yield* check;
|
|
341
|
+
if (takenLocks.length === 0) return;
|
|
342
|
+
}
|
|
343
|
+
}, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
344
|
+
mysql: () => Effect.fnUntraced(function* (_address, shardId) {
|
|
345
|
+
const conn = yield* Resource.get(lockConnRef);
|
|
346
|
+
const lockName = lockNames.get(shardId);
|
|
347
|
+
const release = conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
|
|
348
|
+
const check = conn.executeValues(`SELECT IS_USED_LOCK('${lockName}') = CONNECTION_ID() AS is_taken`, []);
|
|
349
|
+
while (true) {
|
|
350
|
+
yield* release;
|
|
351
|
+
const takenLocks = yield* check;
|
|
352
|
+
if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return;
|
|
353
|
+
}
|
|
354
|
+
}, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
355
|
+
orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled)
|
|
356
|
+
}),
|
|
357
|
+
releaseAll: sql.onDialectOrElse({
|
|
358
|
+
pg: () => _address => sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
359
|
+
mysql: () => _address => sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
|
|
360
|
+
orElse: () => address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled)
|
|
361
|
+
})
|
|
362
|
+
});
|
|
363
|
+
}, withTracerDisabled);
|
|
364
|
+
/**
|
|
365
|
+
* @since 1.0.0
|
|
366
|
+
* @category Layers
|
|
367
|
+
*/
|
|
368
|
+
const layer = exports.layer = /*#__PURE__*/Layer.scoped(RunnerStorage.RunnerStorage)(/*#__PURE__*/make({}));
|
|
369
|
+
/**
|
|
370
|
+
* @since 1.0.0
|
|
371
|
+
* @category Layers
|
|
372
|
+
*/
|
|
373
|
+
const layerWith = options => Layer.scoped(RunnerStorage.RunnerStorage)(make(options));
|
|
374
|
+
exports.layerWith = layerWith;
|
|
375
|
+
//# sourceMappingURL=SqlRunnerStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Duration","Effect","Layer","Resource","_ClusterError","RunnerStorage","ShardId","ShardingConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","length","lockNum","push","lockNumbersReverse","delete","size","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","rows","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","PersistenceError","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","check","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.SqlRunnerStorage = exports.SqlMessageStorage = exports.SocketRunner = exports.Snowflake = exports.SingletonAddress = exports.Singleton = exports.ShardingRegistrationEvent = exports.ShardingConfig = exports.Sharding = exports.ShardId = exports.Runners = exports.RunnerStorage = exports.RunnerServer = exports.RunnerHealth = exports.RunnerAddress = exports.Runner = exports.Reply = exports.MessageStorage = exports.Message = exports.MachineId = exports.HttpRunner = exports.Envelope = exports.EntityType = exports.EntityProxyServer = exports.EntityProxy = exports.EntityId = exports.EntityAddress = exports.Entity = exports.DeliverAt = exports.ClusterWorkflowEngine = exports.ClusterSchema = exports.ClusterMetrics = exports.ClusterError = exports.ClusterCron = void 0;
|
|
7
7
|
var _ClusterCron = _interopRequireWildcard(require("./ClusterCron.js"));
|
|
8
8
|
exports.ClusterCron = _ClusterCron;
|
|
9
9
|
var _ClusterError = _interopRequireWildcard(require("./ClusterError.js"));
|
|
@@ -30,12 +30,8 @@ var _EntityType = _interopRequireWildcard(require("./EntityType.js"));
|
|
|
30
30
|
exports.EntityType = _EntityType;
|
|
31
31
|
var _Envelope = _interopRequireWildcard(require("./Envelope.js"));
|
|
32
32
|
exports.Envelope = _Envelope;
|
|
33
|
-
var _HttpCommon = _interopRequireWildcard(require("./HttpCommon.js"));
|
|
34
|
-
exports.HttpCommon = _HttpCommon;
|
|
35
33
|
var _HttpRunner = _interopRequireWildcard(require("./HttpRunner.js"));
|
|
36
34
|
exports.HttpRunner = _HttpRunner;
|
|
37
|
-
var _HttpShardManager = _interopRequireWildcard(require("./HttpShardManager.js"));
|
|
38
|
-
exports.HttpShardManager = _HttpShardManager;
|
|
39
35
|
var _MachineId = _interopRequireWildcard(require("./MachineId.js"));
|
|
40
36
|
exports.MachineId = _MachineId;
|
|
41
37
|
var _Message = _interopRequireWildcard(require("./Message.js"));
|
|
@@ -52,14 +48,12 @@ var _RunnerHealth = _interopRequireWildcard(require("./RunnerHealth.js"));
|
|
|
52
48
|
exports.RunnerHealth = _RunnerHealth;
|
|
53
49
|
var _RunnerServer = _interopRequireWildcard(require("./RunnerServer.js"));
|
|
54
50
|
exports.RunnerServer = _RunnerServer;
|
|
51
|
+
var _RunnerStorage = _interopRequireWildcard(require("./RunnerStorage.js"));
|
|
52
|
+
exports.RunnerStorage = _RunnerStorage;
|
|
55
53
|
var _Runners = _interopRequireWildcard(require("./Runners.js"));
|
|
56
54
|
exports.Runners = _Runners;
|
|
57
55
|
var _ShardId = _interopRequireWildcard(require("./ShardId.js"));
|
|
58
56
|
exports.ShardId = _ShardId;
|
|
59
|
-
var _ShardManager = _interopRequireWildcard(require("./ShardManager.js"));
|
|
60
|
-
exports.ShardManager = _ShardManager;
|
|
61
|
-
var _ShardStorage = _interopRequireWildcard(require("./ShardStorage.js"));
|
|
62
|
-
exports.ShardStorage = _ShardStorage;
|
|
63
57
|
var _Sharding = _interopRequireWildcard(require("./Sharding.js"));
|
|
64
58
|
exports.Sharding = _Sharding;
|
|
65
59
|
var _ShardingConfig = _interopRequireWildcard(require("./ShardingConfig.js"));
|
|
@@ -74,13 +68,9 @@ var _Snowflake = _interopRequireWildcard(require("./Snowflake.js"));
|
|
|
74
68
|
exports.Snowflake = _Snowflake;
|
|
75
69
|
var _SocketRunner = _interopRequireWildcard(require("./SocketRunner.js"));
|
|
76
70
|
exports.SocketRunner = _SocketRunner;
|
|
77
|
-
var _SocketShardManager = _interopRequireWildcard(require("./SocketShardManager.js"));
|
|
78
|
-
exports.SocketShardManager = _SocketShardManager;
|
|
79
71
|
var _SqlMessageStorage = _interopRequireWildcard(require("./SqlMessageStorage.js"));
|
|
80
72
|
exports.SqlMessageStorage = _SqlMessageStorage;
|
|
81
|
-
var
|
|
82
|
-
exports.
|
|
83
|
-
var _SynchronizedClock = _interopRequireWildcard(require("./SynchronizedClock.js"));
|
|
84
|
-
exports.SynchronizedClock = _SynchronizedClock;
|
|
73
|
+
var _SqlRunnerStorage = _interopRequireWildcard(require("./SqlRunnerStorage.js"));
|
|
74
|
+
exports.SqlRunnerStorage = _SqlRunnerStorage;
|
|
85
75
|
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); }
|
|
86
76
|
//# sourceMappingURL=index.js.map
|