Simpler Redis timeout configuration loading #8439

pull/8535/head
Juan Ignacio Sánchez Lara 8 years ago
parent 702db391aa
commit ec0dda774f

@ -7,7 +7,7 @@ ghost tables, importing common data and automatic index creation.
### Features
* Automatic creation of indexes on columns affected by a widget
* Viewer users for organizations.
* Configurable Redis timeouts: connect_timeout, read_timeout, write_timeout. All three default to existing timeout parameter if missing, and 2, 3, 5 it timeout isn't set either.
* Configurable [Redis timeouts: connect_timeout, read_timeout, write_timeout](https://github.com/redis/redis-rb#timeouts).
### Bug Fixes
* Incorrect error message when password validation failed

@ -9,10 +9,7 @@ class RedisFactory
def self.get_conf
# TODO: because of #8439 we're testing different Redis timeouts for connection, R and W.
# After getting a final solution timeout configuration should be read from the file again
redis_conf = conf.select { |k, _| [:host, :port, :driver, :tcp_keepalive, :connect_timeout, :read_timeout, :write_timeout].include?(k) }
redis_conf[:connect_timeout] = conf.fetch(:timeout, 2) unless redis_conf[:connect_timeout]
redis_conf[:read_timeout] = conf.fetch(:timeout, 3) unless redis_conf[:read_timeout]
redis_conf[:write_timeout] = conf.fetch(:timeout, 5) unless redis_conf[:write_timeout]
redis_conf = conf.select { |k, _| [:host, :port, :driver, :tcp_keepalive, :timeout, :connect_timeout, :read_timeout, :write_timeout].include?(k) }
if ENV['REDIS_PORT']
redis_conf[:port] = ENV['REDIS_PORT']

Loading…
Cancel
Save