@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.
Files changed (141) hide show
  1. package/ClusterCron/package.json +6 -0
  2. package/dist/cjs/ClusterCron.js +86 -0
  3. package/dist/cjs/ClusterCron.js.map +1 -0
  4. package/dist/cjs/ClusterSchema.js +9 -1
  5. package/dist/cjs/ClusterSchema.js.map +1 -1
  6. package/dist/cjs/ClusterWorkflowEngine.js +21 -6
  7. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  8. package/dist/cjs/Entity.js +6 -1
  9. package/dist/cjs/Entity.js.map +1 -1
  10. package/dist/cjs/EntityAddress.js +8 -1
  11. package/dist/cjs/EntityAddress.js.map +1 -1
  12. package/dist/cjs/MessageStorage.js +6 -4
  13. package/dist/cjs/MessageStorage.js.map +1 -1
  14. package/dist/cjs/Runner.js +15 -0
  15. package/dist/cjs/Runner.js.map +1 -1
  16. package/dist/cjs/RunnerAddress.js +8 -1
  17. package/dist/cjs/RunnerAddress.js.map +1 -1
  18. package/dist/cjs/Runners.js +5 -0
  19. package/dist/cjs/Runners.js.map +1 -1
  20. package/dist/cjs/ShardId.js +75 -7
  21. package/dist/cjs/ShardId.js.map +1 -1
  22. package/dist/cjs/ShardManager.js +63 -43
  23. package/dist/cjs/ShardManager.js.map +1 -1
  24. package/dist/cjs/ShardStorage.js +45 -36
  25. package/dist/cjs/ShardStorage.js.map +1 -1
  26. package/dist/cjs/Sharding.js +45 -37
  27. package/dist/cjs/Sharding.js.map +1 -1
  28. package/dist/cjs/ShardingConfig.js +9 -2
  29. package/dist/cjs/ShardingConfig.js.map +1 -1
  30. package/dist/cjs/Singleton.js +2 -2
  31. package/dist/cjs/Singleton.js.map +1 -1
  32. package/dist/cjs/SingletonAddress.js +2 -2
  33. package/dist/cjs/SingletonAddress.js.map +1 -1
  34. package/dist/cjs/SqlMessageStorage.js +32 -27
  35. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  36. package/dist/cjs/SqlShardStorage.js +14 -14
  37. package/dist/cjs/SqlShardStorage.js.map +1 -1
  38. package/dist/cjs/index.js +3 -1
  39. package/dist/cjs/internal/entityManager.js +2 -1
  40. package/dist/cjs/internal/entityManager.js.map +1 -1
  41. package/dist/cjs/internal/shardManager.js +138 -37
  42. package/dist/cjs/internal/shardManager.js.map +1 -1
  43. package/dist/dts/ClusterCron.d.ts +37 -0
  44. package/dist/dts/ClusterCron.d.ts.map +1 -0
  45. package/dist/dts/ClusterSchema.d.ts +8 -0
  46. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  47. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  48. package/dist/dts/Entity.d.ts +10 -0
  49. package/dist/dts/Entity.d.ts.map +1 -1
  50. package/dist/dts/EntityAddress.d.ts +9 -3
  51. package/dist/dts/EntityAddress.d.ts.map +1 -1
  52. package/dist/dts/MessageStorage.d.ts +3 -3
  53. package/dist/dts/MessageStorage.d.ts.map +1 -1
  54. package/dist/dts/Runner.d.ts +15 -0
  55. package/dist/dts/Runner.d.ts.map +1 -1
  56. package/dist/dts/RunnerAddress.d.ts +5 -0
  57. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  58. package/dist/dts/Runners.d.ts.map +1 -1
  59. package/dist/dts/ShardId.d.ts +60 -6
  60. package/dist/dts/ShardId.d.ts.map +1 -1
  61. package/dist/dts/ShardManager.d.ts +13 -13
  62. package/dist/dts/ShardManager.d.ts.map +1 -1
  63. package/dist/dts/ShardStorage.d.ts +11 -14
  64. package/dist/dts/ShardStorage.d.ts.map +1 -1
  65. package/dist/dts/Sharding.d.ts +4 -2
  66. package/dist/dts/Sharding.d.ts.map +1 -1
  67. package/dist/dts/ShardingConfig.d.ts +32 -6
  68. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  69. package/dist/dts/Singleton.d.ts +3 -1
  70. package/dist/dts/Singleton.d.ts.map +1 -1
  71. package/dist/dts/SingletonAddress.d.ts +4 -3
  72. package/dist/dts/SingletonAddress.d.ts.map +1 -1
  73. package/dist/dts/SqlMessageStorage.d.ts +3 -2
  74. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  75. package/dist/dts/SqlShardStorage.d.ts +1 -1
  76. package/dist/dts/index.d.ts +4 -0
  77. package/dist/dts/index.d.ts.map +1 -1
  78. package/dist/esm/ClusterCron.js +77 -0
  79. package/dist/esm/ClusterCron.js.map +1 -0
  80. package/dist/esm/ClusterSchema.js +7 -0
  81. package/dist/esm/ClusterSchema.js.map +1 -1
  82. package/dist/esm/ClusterWorkflowEngine.js +21 -6
  83. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  84. package/dist/esm/Entity.js +6 -1
  85. package/dist/esm/Entity.js.map +1 -1
  86. package/dist/esm/EntityAddress.js +8 -1
  87. package/dist/esm/EntityAddress.js.map +1 -1
  88. package/dist/esm/MessageStorage.js +6 -4
  89. package/dist/esm/MessageStorage.js.map +1 -1
  90. package/dist/esm/Runner.js +15 -0
  91. package/dist/esm/Runner.js.map +1 -1
  92. package/dist/esm/RunnerAddress.js +8 -1
  93. package/dist/esm/RunnerAddress.js.map +1 -1
  94. package/dist/esm/Runners.js +5 -0
  95. package/dist/esm/Runners.js.map +1 -1
  96. package/dist/esm/ShardId.js +73 -6
  97. package/dist/esm/ShardId.js.map +1 -1
  98. package/dist/esm/ShardManager.js +64 -45
  99. package/dist/esm/ShardManager.js.map +1 -1
  100. package/dist/esm/ShardStorage.js +44 -36
  101. package/dist/esm/ShardStorage.js.map +1 -1
  102. package/dist/esm/Sharding.js +45 -37
  103. package/dist/esm/Sharding.js.map +1 -1
  104. package/dist/esm/ShardingConfig.js +9 -2
  105. package/dist/esm/ShardingConfig.js.map +1 -1
  106. package/dist/esm/Singleton.js +2 -2
  107. package/dist/esm/Singleton.js.map +1 -1
  108. package/dist/esm/SingletonAddress.js +2 -2
  109. package/dist/esm/SingletonAddress.js.map +1 -1
  110. package/dist/esm/SqlMessageStorage.js +32 -27
  111. package/dist/esm/SqlMessageStorage.js.map +1 -1
  112. package/dist/esm/SqlShardStorage.js +14 -14
  113. package/dist/esm/SqlShardStorage.js.map +1 -1
  114. package/dist/esm/index.js +4 -0
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/internal/entityManager.js +2 -1
  117. package/dist/esm/internal/entityManager.js.map +1 -1
  118. package/dist/esm/internal/shardManager.js +136 -36
  119. package/dist/esm/internal/shardManager.js.map +1 -1
  120. package/package.json +12 -4
  121. package/src/ClusterCron.ts +129 -0
  122. package/src/ClusterSchema.ts +9 -0
  123. package/src/ClusterWorkflowEngine.ts +37 -6
  124. package/src/Entity.ts +20 -1
  125. package/src/EntityAddress.ts +11 -1
  126. package/src/MessageStorage.ts +12 -7
  127. package/src/Runner.ts +18 -0
  128. package/src/RunnerAddress.ts +9 -1
  129. package/src/Runners.ts +5 -0
  130. package/src/ShardId.ts +81 -11
  131. package/src/ShardManager.ts +74 -45
  132. package/src/ShardStorage.ts +51 -47
  133. package/src/Sharding.ts +45 -39
  134. package/src/ShardingConfig.ts +36 -7
  135. package/src/Singleton.ts +5 -2
  136. package/src/SingletonAddress.ts +2 -2
  137. package/src/SqlMessageStorage.ts +36 -30
  138. package/src/SqlShardStorage.ts +15 -15
  139. package/src/index.ts +5 -0
  140. package/src/internal/entityManager.ts +2 -1
  141. package/src/internal/shardManager.ts +158 -52
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","Persisted","Uninterruptible","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","Math","abs","numberOfShards","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","remove","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","id","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","supportsAck","generateRequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","Persisted","Uninterruptible","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","disableValidation","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","supportsAck","generateRequestId","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","getShardGroup","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -26,13 +26,15 @@ const defaultRunnerAddress = /*#__PURE__*/RunnerAddress.make({
26
26
  */
27
27
  export const defaults = {
28
28
  runnerAddress: /*#__PURE__*/Option.some(defaultRunnerAddress),
29
+ runnerListenAddress: /*#__PURE__*/Option.none(),
29
30
  serverVersion: 1,
30
- numberOfShards: 300,
31
+ shardsPerGroup: 300,
31
32
  shardManagerAddress: /*#__PURE__*/RunnerAddress.make({
32
33
  host: "localhost",
33
34
  port: 8080
34
35
  }),
35
36
  shardManagerUnavailableTimeout: /*#__PURE__*/Duration.minutes(10),
37
+ shardGroups: ["default"],
36
38
  entityMailboxCapacity: 4096,
37
39
  entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
38
40
  entityTerminationTimeout: /*#__PURE__*/Duration.seconds(15),
@@ -64,8 +66,13 @@ export const config = /*#__PURE__*/Config.all({
64
66
  host: Config.string("host").pipe(Config.withDefault(defaultRunnerAddress.host), Config.withDescription("The hostname or IP address of the runner.")),
65
67
  port: Config.integer("port").pipe(Config.withDefault(defaultRunnerAddress.port), Config.withDescription("The port used for inter-runner communication."))
66
68
  }).pipe(/*#__PURE__*/Config.map(options => RunnerAddress.make(options)), Config.option),
69
+ runnerListenAddress: /*#__PURE__*/Config.all({
70
+ host: Config.string("listenHost").pipe(Config.withDefault(defaultRunnerAddress.host), Config.withDescription("The host to listen on.")),
71
+ port: Config.integer("listenPort").pipe(Config.withDefault(defaultRunnerAddress.port), Config.withDescription("The port to listen on."))
72
+ }).pipe(/*#__PURE__*/Config.map(options => RunnerAddress.make(options)), Config.option),
67
73
  serverVersion: /*#__PURE__*/Config.integer("serverVersion").pipe(/*#__PURE__*/Config.withDefault(defaults.serverVersion), /*#__PURE__*/Config.withDescription("The version of the current runner.")),
68
- numberOfShards: /*#__PURE__*/Config.integer("numberOfShards").pipe(/*#__PURE__*/Config.withDefault(defaults.numberOfShards), /*#__PURE__*/Config.withDescription("The number of shards to allocate to a runner.")),
74
+ shardGroups: /*#__PURE__*/Config.array(Config.string("shardGroups")).pipe(/*#__PURE__*/Config.withDefault(["default"]), /*#__PURE__*/Config.withDescription("The shard groups that are assigned to this runner.")),
75
+ shardsPerGroup: /*#__PURE__*/Config.integer("shardsPerGroup").pipe(/*#__PURE__*/Config.withDefault(defaults.shardsPerGroup), /*#__PURE__*/Config.withDescription("The number of shards to allocate per shard group.")),
69
76
  shardManagerAddress: /*#__PURE__*/Config.all({
70
77
  host: Config.string("shardManagerHost").pipe(Config.withDefault(defaults.shardManagerAddress.host), Config.withDescription("The host of the shard manager.")),
71
78
  port: Config.integer("shardManagerPort").pipe(Config.withDefault(defaults.shardManagerAddress.port), Config.withDescription("The port of the shard manager."))
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","serverVersion","numberOfShards","shardManagerAddress","shardManagerUnavailableTimeout","minutes","entityMailboxCapacity","entityMaxIdleTime","entityTerminationTimeout","seconds","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","duration","boolean","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","serverVersion","shardsPerGroup","shardManagerAddress","shardManagerUnavailableTimeout","minutes","shardGroups","entityMailboxCapacity","entityMaxIdleTime","entityTerminationTimeout","seconds","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","duration","boolean","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,8 @@ import { Sharding } from "./Sharding.js";
8
8
  * @since 1.0.0
9
9
  * @category constructors
10
10
  */
11
- export const make = (name, run) => Layer.effectDiscard(Effect.gen(function* () {
11
+ export const make = (name, run, options) => Layer.effectDiscard(Effect.gen(function* () {
12
12
  const sharding = yield* Sharding;
13
- yield* sharding.registerSingleton(name, run);
13
+ yield* sharding.registerSingleton(name, run, options);
14
14
  }));
15
15
  //# sourceMappingURL=Singleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Singleton.js","names":["Effect","Layer","Sharding","make","name","run","effectDiscard","gen","sharding","registerSingleton"],"sources":["../../src/Singleton.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,QAAQ,QAAQ,eAAe;AAExC;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,IAAY,EACZC,GAA8B,KAE9BJ,KAAK,CAACK,aAAa,CAACN,MAAM,CAACO,GAAG,CAAC,aAAS;EACtC,MAAMC,QAAQ,GAAG,OAAON,QAAQ;EAChC,OAAOM,QAAQ,CAACC,iBAAiB,CAACL,IAAI,EAAEC,GAAG,CAAC;AAC9C,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Singleton.js","names":["Effect","Layer","Sharding","make","name","run","options","effectDiscard","gen","sharding","registerSingleton"],"sources":["../../src/Singleton.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,QAAQ,QAAQ,eAAe;AAExC;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,IAAY,EACZC,GAA8B,EAC9BC,OAEC,KAEDL,KAAK,CAACM,aAAa,CAACP,MAAM,CAACQ,GAAG,CAAC,aAAS;EACtC,MAAMC,QAAQ,GAAG,OAAOP,QAAQ;EAChC,OAAOO,QAAQ,CAACC,iBAAiB,CAACN,IAAI,EAAEC,GAAG,EAAEC,OAAO,CAAC;AACvD,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -28,13 +28,13 @@ export class SingletonAddress extends /*#__PURE__*/Schema.Class("@effect/cluster
28
28
  * @since 1.0.0
29
29
  */
30
30
  [Hash.symbol]() {
31
- return Hash.cached(this)(Hash.string(`${this.shardId}:${this.name}`));
31
+ return Hash.cached(this)(Hash.string(`${this.name}:${this.shardId.toString()}`));
32
32
  }
33
33
  /**
34
34
  * @since 1.0.0
35
35
  */
36
36
  [Equal.symbol](that) {
37
- return this.shardId === that.shardId && this.name === that.name;
37
+ return this.name === that.name && this.shardId[Equal.symbol](that.shardId);
38
38
  }
39
39
  }
40
40
  //# sourceMappingURL=SingletonAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonAddress.js","names":["Equal","Hash","Schema","ShardId","TypeId","Symbol","for","SingletonAddress","Class","shardId","name","NonEmptyTrimmedString","symbol","cached","string","that"],"sources":["../../src/SingletonAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,OAAO,QAAQ,cAAc;AAEtC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAQnF;;;;;;AAMA,OAAM,MAAOC,gBAAiB,sBAAQL,MAAM,CAACM,KAAK,CAAmB,kCAAkC,CAAC,CAAC;EACvGC,OAAO,EAAEN,OAAO;EAChBO,IAAI,EAAER,MAAM,CAACS;CACd,CAAC;EACA;;;EAGS,CAACP,MAAM,IAAIA,MAAM;EAC1B;;;EAGA,CAACH,IAAI,CAACW,MAAM,IAAC;IACX,OAAOX,IAAI,CAACY,MAAM,CAAC,IAAI,CAAC,CAACZ,IAAI,CAACa,MAAM,CAAC,GAAG,IAAI,CAACL,OAAO,IAAI,IAAI,CAACC,IAAI,EAAE,CAAC,CAAC;EACvE;EACA;;;EAGA,CAACV,KAAK,CAACY,MAAM,EAAEG,IAAsB;IACnC,OAAO,IAAI,CAACN,OAAO,KAAKM,IAAI,CAACN,OAAO,IAAI,IAAI,CAACC,IAAI,KAAKK,IAAI,CAACL,IAAI;EACjE","ignoreList":[]}
1
+ {"version":3,"file":"SingletonAddress.js","names":["Equal","Hash","Schema","ShardId","TypeId","Symbol","for","SingletonAddress","Class","shardId","name","NonEmptyTrimmedString","symbol","cached","string","toString","that"],"sources":["../../src/SingletonAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,OAAO,QAAQ,cAAc;AAEtC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAQnF;;;;;;AAMA,OAAM,MAAOC,gBAAiB,sBAAQL,MAAM,CAACM,KAAK,CAAmB,kCAAkC,CAAC,CAAC;EACvGC,OAAO,EAAEN,OAAO;EAChBO,IAAI,EAAER,MAAM,CAACS;CACd,CAAC;EACA;;;EAGS,CAACP,MAAM,IAAIA,MAAM;EAC1B;;;EAGA,CAACH,IAAI,CAACW,MAAM,IAAC;IACX,OAAOX,IAAI,CAACY,MAAM,CAAC,IAAI,CAAC,CAACZ,IAAI,CAACa,MAAM,CAAC,GAAG,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACD,OAAO,CAACM,QAAQ,EAAE,EAAE,CAAC,CAAC;EAClF;EACA;;;EAGA,CAACf,KAAK,CAACY,MAAM,EAAEI,IAAsB;IACnC,OAAO,IAAI,CAACN,IAAI,KAAKM,IAAI,CAACN,IAAI,IAAI,IAAI,CAACD,OAAO,CAACT,KAAK,CAACY,MAAM,CAAC,CAACI,IAAI,CAACP,OAAO,CAAC;EAC5E","ignoreList":[]}
@@ -10,6 +10,7 @@ import * as Schedule from "effect/Schedule";
10
10
  import { PersistenceError } from "./ClusterError.js";
11
11
  import * as MessageStorage from "./MessageStorage.js";
12
12
  import { SaveResultEncoded } from "./MessageStorage.js";
13
+ import { ShardId } from "./ShardId.js";
13
14
  import * as Snowflake from "./Snowflake.js";
14
15
  const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
15
16
  /**
@@ -33,15 +34,15 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
33
34
  id BIGINT PRIMARY KEY,
34
35
  rowid BIGINT IDENTITY(1,1),
35
36
  message_id VARCHAR(255),
36
- shard_id INT NOT NULL,
37
- entity_type VARCHAR(255) NOT NULL,
37
+ shard_id VARCHAR(50) NOT NULL,
38
+ entity_type VARCHAR(50) NOT NULL,
38
39
  entity_id VARCHAR(255) NOT NULL,
39
40
  kind INT NOT NULL,
40
- tag VARCHAR(255),
41
+ tag VARCHAR(50),
41
42
  payload TEXT,
42
43
  headers TEXT,
43
- trace_id VARCHAR(255),
44
- span_id VARCHAR(255),
44
+ trace_id VARCHAR(32),
45
+ span_id VARCHAR(16),
45
46
  sampled BIT,
46
47
  processed BIT NOT NULL DEFAULT 0,
47
48
  request_id BIGINT NOT NULL,
@@ -58,15 +59,15 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
58
59
  id BIGINT NOT NULL,
59
60
  rowid BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
60
61
  message_id VARCHAR(255),
61
- shard_id INT NOT NULL,
62
- entity_type VARCHAR(255) NOT NULL,
62
+ shard_id VARCHAR(50) NOT NULL,
63
+ entity_type VARCHAR(50) NOT NULL,
63
64
  entity_id VARCHAR(255) NOT NULL,
64
65
  kind INT NOT NULL,
65
- tag VARCHAR(255),
66
+ tag VARCHAR(50),
66
67
  payload TEXT,
67
68
  headers TEXT,
68
- trace_id VARCHAR(255),
69
- span_id VARCHAR(255),
69
+ trace_id VARCHAR(32),
70
+ span_id VARCHAR(16),
70
71
  sampled BOOLEAN,
71
72
  processed BOOLEAN NOT NULL DEFAULT FALSE,
72
73
  request_id BIGINT NOT NULL,
@@ -84,15 +85,15 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
84
85
  id BIGINT PRIMARY KEY,
85
86
  rowid BIGSERIAL,
86
87
  message_id VARCHAR(255),
87
- shard_id INT NOT NULL,
88
- entity_type VARCHAR(255) NOT NULL,
88
+ shard_id VARCHAR(50) NOT NULL,
89
+ entity_type VARCHAR(50) NOT NULL,
89
90
  entity_id VARCHAR(255) NOT NULL,
90
91
  kind INT NOT NULL,
91
- tag VARCHAR(255),
92
+ tag VARCHAR(50),
92
93
  payload TEXT,
93
94
  headers TEXT,
94
- trace_id VARCHAR(255),
95
- span_id VARCHAR(255),
95
+ trace_id VARCHAR(32),
96
+ span_id VARCHAR(16),
96
97
  sampled BOOLEAN,
97
98
  processed BOOLEAN NOT NULL DEFAULT FALSE,
98
99
  request_id BIGINT NOT NULL,
@@ -110,7 +111,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
110
111
  CREATE TABLE IF NOT EXISTS ${messagesTableSql} (
111
112
  id INTEGER PRIMARY KEY,
112
113
  message_id TEXT,
113
- shard_id INTEGER NOT NULL,
114
+ shard_id TEXT NOT NULL,
114
115
  entity_type TEXT NOT NULL,
115
116
  entity_id TEXT NOT NULL,
116
117
  kind INTEGER NOT NULL,
@@ -268,7 +269,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
268
269
  return {
269
270
  id: envelope.requestId,
270
271
  message_id,
271
- shard_id: envelope.address.shardId,
272
+ shard_id: ShardId.toString(envelope.address.shardId),
272
273
  entity_type: envelope.address.entityType,
273
274
  entity_id: envelope.address.entityId,
274
275
  kind: messageKind.Request,
@@ -286,7 +287,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
286
287
  return {
287
288
  id: envelope.id,
288
289
  message_id,
289
- shard_id: envelope.address.shardId,
290
+ shard_id: ShardId.toString(envelope.address.shardId),
290
291
  entity_type: envelope.address.entityType,
291
292
  entity_id: envelope.address.entityId,
292
293
  kind: messageKind.AckChunk,
@@ -304,7 +305,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
304
305
  return {
305
306
  id: envelope.id,
306
307
  message_id,
307
- shard_id: envelope.address.shardId,
308
+ shard_id: ShardId.toString(envelope.address.shardId),
308
309
  entity_type: envelope.address.entityType,
309
310
  entity_id: envelope.address.entityId,
310
311
  kind: messageKind.Interrupt,
@@ -340,7 +341,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
340
341
  _tag: "Request",
341
342
  requestId: String(row.id),
342
343
  address: {
343
- shardId: Number(row.shard_id),
344
+ shardId: ShardId.fromStringEncoded(row.shard_id),
344
345
  entityType: row.entity_type,
345
346
  entityId: row.entity_id
346
347
  },
@@ -367,7 +368,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
367
368
  requestId: String(row.request_id),
368
369
  replyId: String(row.reply_id),
369
370
  address: {
370
- shardId: Number(row.shard_id),
371
+ shardId: ShardId.fromStringEncoded(row.shard_id),
371
372
  entityType: row.entity_type,
372
373
  entityId: row.entity_id
373
374
  }
@@ -381,7 +382,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
381
382
  id: String(row.id),
382
383
  requestId: String(row.request_id),
383
384
  address: {
384
- shardId: Number(row.shard_id),
385
+ shardId: ShardId.fromStringEncoded(row.shard_id),
385
386
  entityType: row.entity_type,
386
387
  entityId: row.entity_id
387
388
  }
@@ -480,6 +481,10 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
480
481
  orElse: () => "CURRENT_TIMESTAMP"
481
482
  });
482
483
  const sqlNow = sql.literal(sqlNowString);
484
+ const wrapString = sql.onDialectOrElse({
485
+ mssql: () => s => `N'${s}'`,
486
+ orElse: () => s => `'${s}'`
487
+ });
483
488
  const getUnprocessedMessages = sql.onDialectOrElse({
484
489
  pg: () => (shardIds, now) => sql`
485
490
  UPDATE ${messagesTableSql} m
@@ -487,7 +492,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
487
492
  FROM (
488
493
  SELECT m.*
489
494
  FROM ${messagesTableSql} m
490
- WHERE m.shard_id IN (${sql.literal(shardIds.map(String).join(","))})
495
+ WHERE m.shard_id IN (${sql.literal(shardIds.map(wrapString).join(","))})
491
496
  AND NOT EXISTS (
492
497
  SELECT 1 FROM ${repliesTableSql}
493
498
  WHERE request_id = m.request_id
@@ -507,7 +512,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
507
512
  SELECT m.*, r.id as reply_reply_id, r.kind as reply_kind, r.payload as reply_payload, r.sequence as reply_sequence
508
513
  FROM ${messagesTableSql} m
509
514
  LEFT JOIN ${repliesTableSql} r ON r.id = m.last_reply_id
510
- WHERE m.shard_id IN (${sql.literal(shardIds.map(String).join(","))})
515
+ WHERE m.shard_id IN (${sql.literal(shardIds.map(wrapString).join(","))})
511
516
  AND NOT EXISTS (
512
517
  SELECT 1 FROM ${repliesTableSql}
513
518
  WHERE request_id = m.request_id
@@ -562,7 +567,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
562
567
  }).pipe(Effect.provideService(SqlClient.SafeIntegers, true), PersistenceError.refail),
563
568
  saveReply: reply => Effect.suspend(() => {
564
569
  const row = replyToRow(reply);
565
- const update = reply._tag === "Chunk" ? sql`UPDATE ${messagesTableSql} SET last_reply_id = ${reply.id} WHERE id = ${reply.requestId}` : sql`UPDATE ${messagesTableSql} SET processed = ${sqlTrue}, last_reply_id = NULL WHERE request_id = ${reply.requestId}`;
570
+ const update = reply._tag === "Chunk" ? sql`UPDATE ${messagesTableSql} SET last_reply_id = ${reply.id} WHERE id = ${reply.requestId}` : sql`UPDATE ${messagesTableSql} SET processed = ${sqlTrue}, last_reply_id = ${reply.id} WHERE request_id = ${reply.requestId}`;
566
571
  return update.unprepared.pipe(Effect.andThen(sql`INSERT INTO ${repliesTableSql} ${sql.insert(row)}`), sql.withTransaction);
567
572
  }).pipe(Effect.asVoid, PersistenceError.refail),
568
573
  clearReplies: Effect.fnUntraced(function* (requestId) {
@@ -628,7 +633,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
628
633
  UPDATE ${messagesTableSql}
629
634
  SET last_read = NULL
630
635
  WHERE processed = ${sqlFalse}
631
- AND shard_id = ${address.shardId}
636
+ AND shard_id = ${address.shardId.toString()}
632
637
  AND entity_type = ${address.entityType}
633
638
  AND entity_id = ${address.entityId}
634
639
  `.pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled),
@@ -648,7 +653,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
648
653
  UPDATE ${messagesTableSql}
649
654
  SET last_read = NULL
650
655
  WHERE processed = ${sqlFalse}
651
- AND shard_id IN (${sql.literal(shardIds.join(","))})
656
+ AND shard_id IN (${sql.literal(shardIds.map(wrapString).join(","))})
652
657
  `.pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled)
653
658
  });
654
659
  }, withTracerDisabled);
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","ShardId","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}