logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: df92f010ad5acd72b28e6d49c028f9123e92cf06
parent: 07af8c05fd65eb705bfbeadf6727cf0f72c79f20
Author: Clworld <clworld@ggtea.org>
Date:   Mon, 22 May 2017 22:01:02 +0900

Set config.cache_store in environments file. (#3219)

* Set config.cache_store in application.rb

* Set config.cache_store in environments.

* fix code format.

Diffstat:

Mconfig/application.rb2++
Mconfig/environments/production.rb3+++
Mconfig/initializers/redis.rb16----------------
Alib/mastodon/redis_config.rb17+++++++++++++++++
4 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/config/application.rb b/config/application.rb @@ -13,6 +13,8 @@ require_relative '../lib/mastodon/version' Dotenv::Railtie.load +require_relative '../lib/mastodon/redis_config' + module Mastodon class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. diff --git a/config/environments/production.rb b/config/environments/production.rb @@ -50,6 +50,9 @@ Rails.application.configure do # Use a different logger for distributed setups. # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + # Use a different cache store in production. + config.cache_store = :redis_store, ENV['REDIS_URL'], REDIS_CACHE_PARAMS + # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.action_controller.asset_host = 'http://assets.example.com' diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb @@ -1,30 +1,14 @@ # frozen_string_literal: true -if ENV['REDIS_URL'].blank? - password = ENV.fetch('REDIS_PASSWORD') { '' } - host = ENV.fetch('REDIS_HOST') { 'localhost' } - port = ENV.fetch('REDIS_PORT') { 6379 } - db = ENV.fetch('REDIS_DB') { 0 } - - ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}" -end - redis_connection = Redis.new( url: ENV['REDIS_URL'], driver: :hiredis ) -cache_params = { expires_in: 10.minutes } - namespace = ENV.fetch('REDIS_NAMESPACE') { nil } if namespace Redis.current = Redis::Namespace.new(namespace, redis: redis_connection) - cache_params[:namespace] = namespace + '_cache' else Redis.current = redis_connection end - -Rails.application.configure do - config.cache_store = :redis_store, ENV['REDIS_URL'], cache_params -end diff --git a/lib/mastodon/redis_config.rb b/lib/mastodon/redis_config.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +if ENV['REDIS_URL'].blank? + password = ENV.fetch('REDIS_PASSWORD') { '' } + host = ENV.fetch('REDIS_HOST') { 'localhost' } + port = ENV.fetch('REDIS_PORT') { 6379 } + db = ENV.fetch('REDIS_DB') { 0 } + + ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}" +end + +namespace = ENV.fetch('REDIS_NAMESPACE') { nil } +cache_namespace = namespace ? namespace + '_cache' : 'cache' +REDIS_CACHE_PARAMS = { + expires_in: 10.minutes, + namespace: cache_namespace, +}.freeze