| /** | |
| * Single-process cluster layer for durable entities and workflows. It wires | |
| * `Sharding` with no-op runner communication, no-op runner health checks, | |
| * SQL-backed message storage, environment-based sharding configuration, and | |
| * either SQL-backed or in-memory runner storage. | |
| * | |
| * This layer is meant for local, embedded, or small single-node setups where the | |
| * process handles all cluster work itself. It still requires a SQL client | |
| * because mailbox messages and replies are stored in SQL. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| import * as Layer from "effect/Layer"; | |
| import type { ConfigError } from "../../Config.ts"; | |
| import type * as SqlClient from "../sql/SqlClient.ts"; | |
| import type * as MessageStorage from "./MessageStorage.ts"; | |
| import * as Runners from "./Runners.ts"; | |
| import * as Sharding from "./Sharding.ts"; | |
| import * as ShardingConfig from "./ShardingConfig.ts"; | |
| /** | |
| * Provides a SQL-backed single-node cluster for running durable | |
| * entities and workflows. | |
| * | |
| * **When to use** | |
| * | |
| * Use to run durable cluster entities and workflows in a local, embedded, or | |
| * small single-node process while keeping mailbox and reply state in SQL. | |
| * | |
| * **Details** | |
| * | |
| * The layer provides `Sharding`, `Runners`, and `MessageStorage`. It loads | |
| * `ShardingConfig` from environment variables and overlays | |
| * `options.shardingConfig` when provided. Message storage is always SQL-backed; | |
| * runner storage is SQL-backed by default and switches to in-memory storage | |
| * when `runnerStorage` is set to `"memory"`. | |
| * | |
| * **Gotchas** | |
| * | |
| * - Even when `runnerStorage` is `"memory"`, message storage remains | |
| * SQL-backed, so callers must still provide `SqlClient`. | |
| * - Runner communication and runner health are no-op services, so this layer is | |
| * for single-process use rather than multi-runner coordination. | |
| * | |
| * @see {@link ShardingConfig.layerFromEnv} for loading environment configuration before applying `shardingConfig` overrides | |
| * @see {@link SqlMessageStorage.layer} for the SQL-backed message storage that this layer provides | |
| * @see {@link SqlRunnerStorage.layer} for the default SQL-backed runner storage selected when `runnerStorage` is omitted or `"sql"` | |
| * @see {@link RunnerStorage.layerMemory} for the in-memory runner storage selected by `runnerStorage: "memory"` | |
| * | |
| * @category layers | |
| * @since 4.0.0 | |
| */ | |
| export declare const layer: (options?: { | |
| readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Service"]> | undefined; | |
| readonly runnerStorage?: "memory" | "sql" | undefined; | |
| }) => Layer.Layer<Sharding.Sharding | Runners.Runners | MessageStorage.MessageStorage, ConfigError, SqlClient.SqlClient>; | |
| //# sourceMappingURL=SingleRunner.d.ts.map |
Xet Storage Details
- Size:
- 2.68 kB
- Xet hash:
- abf3405f7cb1a9c684e57b68d893362b00c0144666a693127ddc7fff1843f70c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.