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_APP_VERSION = "cluster.app-version"
CLUSTER_BOOTSTRAP_JOIN_TIMEOUT = "cluster.bootstrap.join-timeout"
CLUSTER_BOOTSTRAP_NEW_CLUSTER = "cluster.bootstrap.new-cluster-enabled"
CLUSTER_BOOTSTRAP_REFRESH = "cluster.bootstrap.refresh-interval"
CLUSTER_BOOTSTRAP_REQUIRED = "cluster.bootstrap.required-contact-points"
CLUSTER_BOOTSTRAP_STABLE_AFTER = "cluster.bootstrap.stable-after"
CLUSTER_DISCOVERY_DNS_HOSTNAME = "cluster.discovery.dns.hostname"
CLUSTER_DISCOVERY_DNS_PORT = "cluster.discovery.dns.port"
CLUSTER_DISCOVERY_K8S_API = "cluster.discovery.kubernetes.api-server"
CLUSTER_DISCOVERY_K8S_CA = "cluster.discovery.kubernetes.ca-path"
CLUSTER_DISCOVERY_K8S_NAMESPACE = "cluster.discovery.kubernetes.namespace"
CLUSTER_DISCOVERY_K8S_PORT_NAME = "cluster.discovery.kubernetes.port-name"
CLUSTER_DISCOVERY_K8S_SERVICE = "cluster.discovery.kubernetes.service"
CLUSTER_DISCOVERY_K8S_TOKEN = "cluster.discovery.kubernetes.token-path"
CLUSTER_DISCOVERY_METHOD = "cluster.discovery.method"
CLUSTER_DISCOVERY_TIMEOUT = "cluster.discovery.timeout"
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_PROTOCOL_MINIMUM = "cluster.protocol.minimum-version"
CLUSTER_PROTOCOL_VERSION = "cluster.protocol.version"
CLUSTER_ROLES = "cluster.roles"
CLUSTER_SBR_ACQUIRE_TIMEOUT = "cluster.split-brain.acquire-timeout"
CLUSTER_SBR_CHECK_INTERVAL = "cluster.split-brain.check-interval"
CLUSTER_SBR_DOWN_ALL_WHEN_UNSTABLE = "cluster.split-brain.down-all-when-unstable"
CLUSTER_SBR_LEASE_DURATION = "cluster.split-brain.lease-duration"
CLUSTER_SBR_LEASE_RENEW = "cluster.split-brain.lease-renew-interval"
CLUSTER_SBR_MINORITY_DELAY = "cluster.split-brain.minority-delay"
CLUSTER_SBR_RELEASE_AFTER = "cluster.split-brain.release-after"
CLUSTER_SBR_ROLE = "cluster.split-brain.role"
CLUSTER_SBR_STABLE_AFTER = "cluster.split-brain.stable-after"
CLUSTER_SBR_STRATEGY = "cluster.split-brain.strategy"
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]