@effect/cluster 0.45.0 → 0.46.1

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 (39) hide show
  1. package/dist/cjs/ClusterCron.js +1 -1
  2. package/dist/cjs/ClusterCron.js.map +1 -1
  3. package/dist/cjs/ClusterSchema.js +9 -1
  4. package/dist/cjs/ClusterSchema.js.map +1 -1
  5. package/dist/cjs/ClusterWorkflowEngine.js +1 -0
  6. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  7. package/dist/cjs/Runners.js +4 -4
  8. package/dist/cjs/Runners.js.map +1 -1
  9. package/dist/cjs/ShardManager.js +16 -10
  10. package/dist/cjs/ShardManager.js.map +1 -1
  11. package/dist/cjs/Sharding.js +3 -1
  12. package/dist/cjs/Sharding.js.map +1 -1
  13. package/dist/dts/ClusterCron.d.ts.map +1 -1
  14. package/dist/dts/ClusterSchema.d.ts +7 -0
  15. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  16. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  17. package/dist/dts/Runners.d.ts +2 -1
  18. package/dist/dts/Runners.d.ts.map +1 -1
  19. package/dist/dts/ShardManager.d.ts.map +1 -1
  20. package/dist/dts/Sharding.d.ts.map +1 -1
  21. package/dist/esm/ClusterCron.js +1 -1
  22. package/dist/esm/ClusterCron.js.map +1 -1
  23. package/dist/esm/ClusterSchema.js +8 -1
  24. package/dist/esm/ClusterSchema.js.map +1 -1
  25. package/dist/esm/ClusterWorkflowEngine.js +1 -0
  26. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  27. package/dist/esm/Runners.js +4 -4
  28. package/dist/esm/Runners.js.map +1 -1
  29. package/dist/esm/ShardManager.js +16 -10
  30. package/dist/esm/ShardManager.js.map +1 -1
  31. package/dist/esm/Sharding.js +2 -0
  32. package/dist/esm/Sharding.js.map +1 -1
  33. package/package.json +4 -4
  34. package/src/ClusterCron.ts +3 -1
  35. package/src/ClusterSchema.ts +11 -1
  36. package/src/ClusterWorkflowEngine.ts +1 -0
  37. package/src/Runners.ts +6 -2
  38. package/src/ShardManager.ts +20 -6
  39. package/src/Sharding.ts +2 -0
@@ -373,12 +373,26 @@ export const makeClientRpc: Effect.Effect<
373
373
 
374
374
  return ShardManagerClient.of({
375
375
  register: (address, groups) =>
376
- client.Register({ runner: Runner.make({ address, version: config.serverVersion, groups }) }),
377
- unregister: (address) => client.Unregister({ address }),
378
- notifyUnhealthyRunner: (address) => client.NotifyUnhealthyRunner({ address }),
379
- getAssignments: client.GetAssignments(),
380
- shardingEvents: client.ShardingEvents(void 0, { asMailbox: true }),
381
- getTime: client.GetTime()
376
+ client.Register({ runner: Runner.make({ address, version: config.serverVersion, groups }) }).pipe(
377
+ Effect.orDie
378
+ ),
379
+ unregister: (address) => Effect.orDie(client.Unregister({ address })),
380
+ notifyUnhealthyRunner: (address) => Effect.orDie(client.NotifyUnhealthyRunner({ address })),
381
+ getAssignments: Effect.orDie(client.GetAssignments()),
382
+ shardingEvents: Mailbox.make<ShardingEvent>().pipe(
383
+ Effect.tap(Effect.fnUntraced(
384
+ function*(mailbox) {
385
+ const events = yield* client.ShardingEvents(void 0, { asMailbox: true })
386
+ const take = Effect.orDie(events.takeAll)
387
+ while (true) {
388
+ mailbox.unsafeOfferAll((yield* take)[0])
389
+ }
390
+ },
391
+ (effect, mb) => Mailbox.into(effect, mb),
392
+ Effect.forkScoped
393
+ ))
394
+ ),
395
+ getTime: Effect.orDie(client.GetTime())
382
396
  })
383
397
  })
384
398
 
package/src/Sharding.ts CHANGED
@@ -37,6 +37,7 @@ import {
37
37
  RunnerUnavailable
38
38
  } from "./ClusterError.js"
39
39
  import { Persisted, Uninterruptible } from "./ClusterSchema.js"
40
+ import * as ClusterSchema from "./ClusterSchema.js"
40
41
  import type { CurrentAddress, CurrentRunnerAddress, Entity, HandlersFrom } from "./Entity.js"
41
42
  import { EntityAddress } from "./EntityAddress.js"
42
43
  import { EntityId } from "./EntityId.js"
@@ -950,6 +951,7 @@ const make = Effect.gen(function*() {
950
951
  > = yield* ResourceMap.make(Effect.fnUntraced(function*(entity: Entity<string, any>) {
951
952
  const client = yield* RpcClient.makeNoSerialization(entity.protocol, {
952
953
  spanPrefix: `${entity.type}.client`,
954
+ disableTracing: !Context.get(entity.protocol.annotations, ClusterSchema.ClientTracingEnabled),
953
955
  supportsAck: true,
954
956
  generateRequestId: () => RequestId(snowflakeGen.unsafeNext()),
955
957
  flatten: true,