Module: ZeevexCluster::Coordinator

Defined in:
lib/zeevex_cluster/coordinator/mysql.rb,
lib/zeevex_cluster/coordinator.rb,
lib/zeevex_cluster/coordinator/dalli.rb,
lib/zeevex_cluster/coordinator/redis.rb,
lib/zeevex_cluster/coordinator/memcached.rb

Overview

expired key handling hasn’t been well-tested

Defined Under Namespace

Classes: BaseKeyValStore, ConnectionError, ConsistencyError, CoordinatorError, Dalli, DontChange, Memcached, Mysql, Redis

Class Method Summary collapse

Class Method Details

.create(coordinator_type, options) ⇒ Object

Raises:

  • (ArgumentError)


21
22
23
24
25
26
27
# File 'lib/zeevex_cluster/coordinator.rb', line 21

def self.create(coordinator_type, options)
  require 'zeevex_cluster/coordinator/' + coordinator_type
  clazz = self.const_get(coordinator_type.capitalize)
  raise ArgumentError, "Unknown coordinator type: #{coordinator_type}" unless clazz
  clazz.setup if clazz.respond_to?(:setup)
  ZeevexCluster.Synchronized(clazz.new(options))
end