diff options
author | DJ Mountney <david@twkie.net> | 2016-05-29 12:53:30 -0700 |
---|---|---|
committer | DJ Mountney <david@twkie.net> | 2016-05-29 12:53:30 -0700 |
commit | c8eb1dccabe5cd961895127dbbbf46d3eee4aebd (patch) | |
tree | ff0cbe5365a23825fb3851bf9b3ca528c534ed63 | |
parent | 7d57b110934f50225142789a93a0d4f54cf446f7 (diff) | |
download | gitlab-ce-c8eb1dccabe5cd961895127dbbbf46d3eee4aebd.tar.gz |
Try and use cache for application settings even when the db is not connectedcurrent-settings-use-request-store-during-request
-rw-r--r-- | app/models/application_setting.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/current_settings.rb | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 9a14954b4a7..33069d66d78 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -98,6 +98,10 @@ class ApplicationSetting < ActiveRecord::Base Rails.cache.delete(CACHE_KEY) end + def self.cached + Rails.cache.fetch(CACHE_KEY) + end + def self.create_from_defaults create( default_projects_limit: Settings.gitlab['default_projects_limit'], diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb index 59e86707d3e..1a4ddd38513 100644 --- a/lib/gitlab/current_settings.rb +++ b/lib/gitlab/current_settings.rb @@ -9,9 +9,9 @@ module Gitlab end def ensure_application_settings! - settings = nil + settings = ::ApplicationSetting.cached - if connect_to_db? + if !settings && connect_to_db? settings = ::ApplicationSetting.current settings ||= ::ApplicationSetting.create_from_defaults unless ActiveRecord::Migrator.needs_migration? end |