Make PostgreSQL failover work with distributed cache.

This commit is contained in:
Guo Xiang Tan
2017-10-20 16:39:31 +08:00
parent 989280a222
commit fe1e78ddf4
4 changed files with 20 additions and 8 deletions

View File

@ -105,10 +105,11 @@ class DistributedCache
attr_reader :key
def initialize(key, manager = nil)
def initialize(key, manager: nil, namespace: true)
@key = key
@data = {}
@manager = manager || DistributedCache.default_manager
@namespace = namespace
@manager.ensure_subscribe!
@manager.register(self)
@ -142,7 +143,14 @@ class DistributedCache
end
def hash(db = nil)
db ||= RailsMultisite::ConnectionManagement.current_db
db ||= begin
if @namespace
RailsMultisite::ConnectionManagement.current_db
else
RailsMultisite::ConnectionManagement::DEFAULT
end
end
@data[db] ||= ThreadSafe::Hash.new
end