Don't blow up if Redis switches to READONLY

This commit is contained in:
Robin Ward
2015-04-24 13:10:43 -04:00
parent 8129cce104
commit 5b3f99aa50
56 changed files with 194 additions and 147 deletions

View File

@ -95,10 +95,10 @@ module Discourse
digest = Digest::MD5.hexdigest(ActionView::Base.assets_manifest.assets.values.sort.join)
channel = "/global/asset-version"
message = MessageBus.last_message(channel)
message = DiscourseBus.last_message(channel)
unless message && message.data == digest
MessageBus.publish channel, digest
DiscourseBus.publish channel, digest
end
digest
end
@ -169,7 +169,7 @@ module Discourse
def self.enable_readonly_mode
$redis.set(readonly_mode_key, 1)
MessageBus.publish(readonly_channel, true)
DiscourseBus.publish(readonly_channel, true)
keep_readonly_mode
true
end
@ -186,7 +186,7 @@ module Discourse
def self.disable_readonly_mode
$redis.del(readonly_mode_key)
MessageBus.publish(readonly_channel, false)
DiscourseBus.publish(readonly_channel, false)
true
end
@ -197,9 +197,9 @@ module Discourse
def self.request_refresh!
# Causes refresh on next click for all clients
#
# This is better than `MessageBus.publish "/file-change", ["refresh"]` because
# This is better than `DiscourseBus.publish "/file-change", ["refresh"]` because
# it spreads the refreshes out over a time period
MessageBus.publish '/global/asset-version', 'clobber'
DiscourseBus.publish '/global/asset-version', 'clobber'
end
def self.git_version
@ -274,7 +274,7 @@ module Discourse
def self.after_fork
current_db = RailsMultisite::ConnectionManagement.current_db
RailsMultisite::ConnectionManagement.establish_connection(db: current_db)
MessageBus.after_fork
DiscourseBus.after_fork
SiteSetting.after_fork
$redis.client.reconnect
Rails.cache.reconnect