lib/redis/stream/client.rb in redis-stream-0.2.0 vs lib/redis/stream/client.rb in redis-stream-0.3.0
- old
+ new
@@ -20,13 +20,15 @@
# @param [Object] options options can contain redis[host, port, db] and logger keys
#
# Example: Redis::Stream::Client.new("resolver", "stream", {"logger" => Logger.new(STDOUT)})
# if group is nil or not supplied then no rstream group will be setup
def initialize(stream_name, group_name = nil, name = rand(36 ** 7).to_s(36), options = {})
- default_options = {"host" => "127.0.0.1", "port" => 6379, "db" => 0, "logger" => Logger.new(STDOUT)}
+ default_options = {"host" => "127.0.0.1", "port" => 6379, "db" => 0, "config_file_path" => '.', "logger" => Logger.new(STDOUT)}
options = default_options.merge(options)
+ Redis::Stream::Config.path = options['config_file_path']
+
host = options["host"]
port = options["port"]
db = options["db"]
@logger = options["logger"]
@cache = options.include?('caching') && options['caching'] ? Redis::Stream::DataCache.new : nil
@@ -34,11 +36,16 @@
@name = name
@state = Redis::Stream::State::IDLE
@stream = stream_name
@group = group_name
if options.include?('redis')
+ @logger.info("Taking REDIS as a parameter")
@redis = options['redis']
+ elsif Redis::Stream::Config.file_exists? && Redis::Stream::Config.include?(:redis)
+ @logger.info("Taking REDIS from config file")
+ @redis = Redis.new(Redis::Stream::Config[:redis])
else
+ @logger.info("Instantiating REDIS")
@redis = Redis.new(host: host, port: port, db: db)
end
@consumer_id = "#{@name}-#{@group}-#{Process.pid}"
@non_blocking = nil
# @send_queue = []
\ No newline at end of file