class
Movie::Cluster::PostgresSplitBrainLease
Overview
Production split-brain lease backed by Movie's shared PostgreSQL persistence pool. SQLite is intentionally rejected because it cannot arbitrate ownership across cluster nodes.
Defined in:
movie/persistence/split_brain.crConstant Summary
-
ENTITY_TYPE =
"__movie_cluster_split_brain__"
Constructors
Instance Method Summary
- #acquire(owner : String, duration : Time::Span) : SplitBrainLeaseToken | Nil
- #current : SplitBrainLeaseToken | Nil
- #name : String
- #release(token : SplitBrainLeaseToken) : Bool
- #renew(token : SplitBrainLeaseToken, duration : Time::Span) : SplitBrainLeaseToken | Nil
Instance methods inherited from class Movie::Cluster::SplitBrainLease
acquire(owner : String, duration : Time::Span) : SplitBrainLeaseToken | Nil
acquire,
current : SplitBrainLeaseToken | Nil
current,
name : String
name,
release(token : SplitBrainLeaseToken) : Bool
release,
renew(token : SplitBrainLeaseToken, duration : Time::Span) : SplitBrainLeaseToken | Nil
renew
Constructor Detail
def self.new(database : Movie::DatabaseExtension, cluster_name : String, lease_name : String = "default")
#