aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClworld <clworld@ggtea.org>2017-05-22 22:01:02 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-05-22 15:01:02 +0200
commitdf92f010ad5acd72b28e6d49c028f9123e92cf06 (patch)
treed1ccb9256d2826e126fdf1fe5ca3a3bdcf20658e
parent07af8c05fd65eb705bfbeadf6727cf0f72c79f20 (diff)
downloadmastodon-df92f010ad5acd72b28e6d49c028f9123e92cf06.tar
mastodon-df92f010ad5acd72b28e6d49c028f9123e92cf06.tar.gz
mastodon-df92f010ad5acd72b28e6d49c028f9123e92cf06.tar.bz2
mastodon-df92f010ad5acd72b28e6d49c028f9123e92cf06.zip
Set config.cache_store in environments file. (#3219)
* Set config.cache_store in application.rb * Set config.cache_store in environments. * fix code format.
-rw-r--r--config/application.rb2
-rw-r--r--config/environments/production.rb3
-rw-r--r--config/initializers/redis.rb16
-rw-r--r--lib/mastodon/redis_config.rb17
4 files changed, 22 insertions, 16 deletions
diff --git a/config/application.rb b/config/application.rb
index 728fbfaef..6b121009e 100644
--- 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
index fa5f07495..750182402 100644
--- 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
index 4ed53ec07..7573fc9f7 100644
--- 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
new file mode 100644
index 000000000..cf4f20f76
--- /dev/null
+++ 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