Po kilku badaniach, prawdopodobnym wyjaśnieniem jest to, że inicjator initialize_cache jest uruchamiany przed kolejkami/inicjatorami. Więc jeśli nie jest to zdefiniowane wcześniej w łańcuchu wykonywania, magazyn pamięci podręcznej nie zostanie ustawiony. Musisz go wcześniej skonfigurować w łańcuchu, np. application.rb lub environment/production.rb
Moim rozwiązaniem było przeniesienie ładowania APP_CONFIG, zanim aplikacja zostanie skonfigurowana w następujący sposób:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
a następnie w tym samym pliku:
config.cache_store = :redis_store, APP_CONFIG['redis']
Inną opcją było umieszczenie cache_store w bloku before_configuration, coś takiego:
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