FIX: Don't update User#last_seen_at when PG is in readonly.

This commit is contained in:
Guo Xiang Tan
2019-01-21 13:29:29 +08:00
parent cc83bc8fcf
commit c732ae9ca9
4 changed files with 43 additions and 12 deletions

View File

@@ -241,6 +241,8 @@ class Auth::DefaultCurrentUserProvider
end
def should_update_last_seen?
return false if Discourse.pg_readonly_mode?
if @request.xhr?
@env["HTTP_DISCOURSE_VISIBLE".freeze] == "true".freeze
elsif !!(@env[API_KEY_ENV]) || !!(@env[USER_API_KEY_ENV])

View File

@@ -355,6 +355,10 @@ module Discourse
recently_readonly? || $redis.mget(*keys).compact.present?
end
def self.pg_readonly_mode?
$redis.get(PG_READONLY_MODE_KEY).present?
end
def self.last_read_only
@last_read_only ||= DistributedCache.new('last_read_only', namespace: false)
end

View File

@@ -72,7 +72,7 @@ class Middleware::RequestTracker
def self.log_request_on_site(data, host)
RailsMultisite::ConnectionManagement.with_hostname(host) do
unless Discourse.readonly_mode?([Discourse::PG_READONLY_MODE_KEY])
unless Discourse.pg_readonly_mode?
log_request(data)
end
end