Sha256: 804cb05ee11fffefda10d67fd97fe03ba00686552ce179110e2b76f02f706f03
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
module DistributeReads module AppropriatePool def _appropriate_pool(*args) if Thread.current[:distribute_reads] if Thread.current[:distribute_reads][:replica] if @slave_pool.completely_blacklisted? raise DistributeReads::NoReplicasAvailable, "No replicas available" if Thread.current[:distribute_reads][:failover] == false @master_pool else @slave_pool end elsif Thread.current[:distribute_reads][:primary] || needs_master?(*args) || (blacklisted = @slave_pool.completely_blacklisted?) raise DistributeReads::NoReplicasAvailable, "No replicas available" if blacklisted && Thread.current[:distribute_reads][:failover] == false stick_to_master(*args) if DistributeReads.by_default @master_pool elsif in_transaction? @master_pool else @slave_pool end elsif !DistributeReads.by_default @master_pool else super end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
distribute_reads-0.2.3 | lib/distribute_reads/appropriate_pool.rb |
distribute_reads-0.2.2 | lib/distribute_reads/appropriate_pool.rb |