mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
avoid static method so we can easily inherit off this class
This commit is contained in:
parent
2139a6208b
commit
b7e7da766d
2 changed files with 10 additions and 4 deletions
|
@ -296,6 +296,7 @@ module Discourse
|
||||||
# after fork, otherwise Discourse will be
|
# after fork, otherwise Discourse will be
|
||||||
# in a bad state
|
# in a bad state
|
||||||
def self.after_fork
|
def self.after_fork
|
||||||
|
# note: all this reconnecting may no longer be needed per https://github.com/redis/redis-rb/pull/414
|
||||||
current_db = RailsMultisite::ConnectionManagement.current_db
|
current_db = RailsMultisite::ConnectionManagement.current_db
|
||||||
RailsMultisite::ConnectionManagement.establish_connection(db: current_db)
|
RailsMultisite::ConnectionManagement.establish_connection(db: current_db)
|
||||||
MessageBus.after_fork
|
MessageBus.after_fork
|
||||||
|
|
|
@ -66,22 +66,22 @@ class DiscourseRedis
|
||||||
:sunion, :ttl, :type, :watch, :zadd, :zcard, :zcount, :zincrby, :zrange, :zrangebyscore, :zrank, :zrem, :zremrangebyrank,
|
:sunion, :ttl, :type, :watch, :zadd, :zcard, :zcount, :zincrby, :zrange, :zrangebyscore, :zrank, :zrem, :zremrangebyrank,
|
||||||
:zremrangebyscore, :zrevrange, :zrevrangebyscore, :zrevrank, :zrangebyscore].each do |m|
|
:zremrangebyscore, :zrevrange, :zrevrangebyscore, :zrevrank, :zrangebyscore].each do |m|
|
||||||
define_method m do |*args|
|
define_method m do |*args|
|
||||||
args[0] = "#{DiscourseRedis.namespace}:#{args[0]}"
|
args[0] = "#{namespace}:#{args[0]}"
|
||||||
DiscourseRedis.ignore_readonly { @redis.send(m, *args) }
|
DiscourseRedis.ignore_readonly { @redis.send(m, *args) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def del(k)
|
def del(k)
|
||||||
DiscourseRedis.ignore_readonly do
|
DiscourseRedis.ignore_readonly do
|
||||||
k = "#{DiscourseRedis.namespace}:#{k}"
|
k = "#{namespace}:#{k}"
|
||||||
@redis.del k
|
@redis.del k
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def keys(pattern=nil)
|
def keys(pattern=nil)
|
||||||
DiscourseRedis.ignore_readonly do
|
DiscourseRedis.ignore_readonly do
|
||||||
len = DiscourseRedis.namespace.length + 1
|
len = namespace.length + 1
|
||||||
@redis.keys("#{DiscourseRedis.namespace}:#{pattern || '*'}").map{
|
@redis.keys("#{namespace}:#{pattern || '*'}").map{
|
||||||
|k| k[len..-1]
|
|k| k[len..-1]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -103,7 +103,12 @@ class DiscourseRedis
|
||||||
@redis.client.reconnect
|
@redis.client.reconnect
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def namespace
|
||||||
|
RailsMultisite::ConnectionManagement.current_db
|
||||||
|
end
|
||||||
|
|
||||||
def self.namespace
|
def self.namespace
|
||||||
|
Rails.logger.warn("DiscourseRedis.namespace is going to be deprecated, do not use it!")
|
||||||
RailsMultisite::ConnectionManagement.current_db
|
RailsMultisite::ConnectionManagement.current_db
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue