diff --git a/app/models/installation_config.rb b/app/models/installation_config.rb index 6f9bf3269..c3fad9192 100644 --- a/app/models/installation_config.rb +++ b/app/models/installation_config.rb @@ -58,6 +58,8 @@ class InstallationConfig < ApplicationRecord end def clear_cache + return if ConfigLoader.processing? + GlobalConfig.clear_cache end diff --git a/lib/config_loader.rb b/lib/config_loader.rb index 309651575..2bcfbd1bc 100644 --- a/lib/config_loader.rb +++ b/lib/config_loader.rb @@ -5,11 +5,12 @@ class ConfigLoader }.freeze def self.processing? - Thread.current[:config_loader_processing] + Thread.current[:config_loader_processing] || @processing end def self.processing=(value) Thread.current[:config_loader_processing] = value + @processing = value end def process(options = {})