lib/idempo/redis_backend.rb in idempo-1.0.0 vs lib/idempo/redis_backend.rb in idempo-1.1.0
- old
+ new
@@ -52,23 +52,23 @@
argv = [lock_token, data.force_encoding(Encoding::BINARY), ttl_millis]
outcome_of_save = redis_pool.with do |r|
Idempo::RedisBackend.eval_or_evalsha(r, SET_WITH_TTL_IF_LOCK_STILL_HELD_SCRIPT, keys: keys, argv: argv)
end
- Measurometer.increment_counter('idempo.redis_lock_state_when_saving_response', 1, state: outcome_of_save)
+ Measurometer.increment_counter("idempo.redis_lock_state_when_saving_response", 1, state: outcome_of_save)
end
end
class NullPool < Struct.new(:redis)
def with
yield redis
end
end
def initialize(redis_or_connection_pool = Redis.new)
- require 'redis'
- require 'securerandom'
+ require "redis"
+ require "securerandom"
@redis_pool = redis_or_connection_pool.respond_to?(:with) ? redis_or_connection_pool : NullPool.new(redis_or_connection_pool)
end
def with_idempotency_key(request_key)
lock_key = "idempo:lock:#{request_key}"
@@ -82,11 +82,15 @@
yield(store)
ensure
outcome_of_del = @redis_pool.with do |r|
Idempo::RedisBackend.eval_or_evalsha(r, DELETE_BY_KEY_AND_VALUE_SCRIPT, keys: [lock_key], argv: [token])
end
- Measurometer.increment_counter('idempo.redis_lock_state_when_releasing_lock', 1, state: outcome_of_del)
+ Measurometer.increment_counter("idempo.redis_lock_state_when_releasing_lock", 1, state: outcome_of_del)
end
+ end
+
+ def prune!
+ # Do nothing
end
def self.eval_or_evalsha(redis, script_code, keys:, argv:)
script_sha = Digest::SHA1.hexdigest(script_code)
redis.evalsha(script_sha, keys: keys, argv: argv)