Dopo alcune ricerche, una probabile spiegazione è che l'inizializzatore initialize_cache viene eseguito molto prima che lo siano i rails/initializer. Quindi, se non è definito in precedenza nella catena di esecuzione, l'archivio cache non verrà impostato. Devi configurarlo all'inizio della catena, come in application.rb o environment/production.rb
La mia soluzione era spostare il caricamento di APP_CONFIG prima che l'app venisse configurata in questo modo:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
e poi nello stesso file:
config.cache_store = :redis_store, APP_CONFIG['redis']
Un'altra opzione era mettere il cache_store in un blocco before_configuration, qualcosa come questo:
config.before_configuration do
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
config.cache_store = :redis_store, APP_CONFIG['redis']
end