module Movie::ActorSystemConfig

Overview

Default configuration for ActorSystem. These values can be overridden via YAML/JSON config files or environment variables.

Configuration paths: name - Actor system name (default: auto-generated) root.restart-strategy - Root actor failure behavior: restart|stop supervision.strategy - Default supervision strategy: restart|stop|resume|escalate supervision.scope - Supervision scope: one-for-one|all-for-one supervision.max-restarts - Max restarts before giving up supervision.within - Time window for max-restarts supervision.backoff.min - Minimum backoff delay supervision.backoff.max - Maximum backoff delay supervision.backoff.factor - Backoff multiplier supervision.backoff.jitter - Random jitter factor (0.0-1.0) remoting.enabled - Enable remoting on startup remoting.host - Bind host for remoting remoting.port - Bind port for remoting remoting.stripe-count - Connection pool stripe count remoting.handshake-timeout - Maximum handshake wait remoting.reconnect.min-backoff - Initial reconnect delay remoting.reconnect.max-backoff - Maximum reconnect delay remoting.reconnect.factor - Exponential reconnect multiplier remoting.reconnect.jitter - Reconnect randomization (0.0-1.0) remoting.heartbeat.interval - Heartbeat interval remoting.heartbeat.timeout - Peer silence timeout remoting.control-buffer-capacity - Pending reliable control limit remoting.control-deduplication-capacity - Receiver-side control stream limit remoting.shared-secret - Optional HMAC handshake secret cluster.enabled - Enable static-seed membership cluster.name - Logical cluster name cluster.seed-nodes - Static remoting address list cluster.roles - Local member roles

Defined in:

movie/config.cr

Constant Summary

CLUSTER_ENABLED = "cluster.enabled"
CLUSTER_GOSSIP_FANOUT = "cluster.gossip.fanout"
CLUSTER_GOSSIP_INTERVAL = "cluster.gossip.interval"
CLUSTER_HEARTBEAT_INTERVAL = "cluster.heartbeat.interval"
CLUSTER_HEARTBEAT_TIMEOUT = "cluster.heartbeat.timeout"
CLUSTER_JOIN_RETRY = "cluster.join-retry-interval"
CLUSTER_MAX_MEMBERS = "cluster.max-members"
CLUSTER_NAME = "cluster.name"
CLUSTER_ROLES = "cluster.roles"
CLUSTER_SEED_NODES = "cluster.seed-nodes"
EXECUTOR_POOL_SIZE = "executor.pool-size"
EXECUTOR_QUEUE_CAPACITY = "executor.queue-capacity"
NAME = "name"
PERSISTENCE_BACKEND = "persistence.backend"
PERSISTENCE_CIRCUIT_RESET = "persistence.circuit-breaker.reset-timeout"
PERSISTENCE_CIRCUIT_THRESHOLD = "persistence.circuit-breaker.failure-threshold"
PERSISTENCE_CONNECTION_URI = "persistence.connection-uri"
PERSISTENCE_DB_PATH = "persistence.db-path"
PERSISTENCE_IO_QUEUE_CAPACITY = "persistence.io-queue-capacity"
PERSISTENCE_OPERATION_TIMEOUT = "persistence.operation-timeout"
PERSISTENCE_POOL_SIZE = "persistence.pool-size"
PERSISTENCE_RETRY_MAX_BACKOFF = "persistence.retry.max-backoff"
PERSISTENCE_RETRY_MAX_RETRIES = "persistence.retry.max-retries"
PERSISTENCE_RETRY_MIN_BACKOFF = "persistence.retry.min-backoff"
REMOTING_CONTROL_CAPACITY = "remoting.control-buffer-capacity"
REMOTING_CONTROL_DEDUP_CAPACITY = "remoting.control-deduplication-capacity"
REMOTING_ENABLED = "remoting.enabled"
REMOTING_HANDSHAKE_TIMEOUT = "remoting.handshake-timeout"
REMOTING_HEARTBEAT_INTERVAL = "remoting.heartbeat.interval"
REMOTING_HEARTBEAT_TIMEOUT = "remoting.heartbeat.timeout"
REMOTING_HOST = "remoting.host"
REMOTING_PORT = "remoting.port"
REMOTING_RECONNECT_FACTOR = "remoting.reconnect.factor"
REMOTING_RECONNECT_JITTER = "remoting.reconnect.jitter"
REMOTING_RECONNECT_MAX = "remoting.reconnect.max-backoff"
REMOTING_RECONNECT_MIN = "remoting.reconnect.min-backoff"
REMOTING_SHARED_SECRET = "remoting.shared-secret"
REMOTING_STRIPE_COUNT = "remoting.stripe-count"
ROOT_RESTART_STRATEGY = "root.restart-strategy"
SUPERVISION_BACKOFF_FACTOR = "supervision.backoff.factor"
SUPERVISION_BACKOFF_JITTER = "supervision.backoff.jitter"
SUPERVISION_BACKOFF_MAX = "supervision.backoff.max"
SUPERVISION_BACKOFF_MIN = "supervision.backoff.min"
SUPERVISION_MAX_RESTARTS = "supervision.max-restarts"
SUPERVISION_SCOPE = "supervision.scope"
SUPERVISION_STRATEGY = "supervision.strategy"
SUPERVISION_WITHIN = "supervision.within"

Class Method Summary

Class Method Detail

def self.default : Config #

Returns the default configuration for an ActorSystem.


[View source]
def self.parse_restart_strategy(str : String) : RestartStrategy #

Parses a RestartStrategy from string.


[View source]
def self.parse_scope(str : String) : SupervisionScope #

Parses a SupervisionScope from string.


[View source]
def self.parse_strategy(str : String) : SupervisionStrategy #

Parses a SupervisionStrategy from string.


[View source]
def self.restart_strategy(config : Config) : RestartStrategy #

Creates a RestartStrategy from a Config.


[View source]
def self.supervision_config(config : Config) : SupervisionConfig #

Creates a SupervisionConfig from a Config.


[View source]