Module: RedisQueuedLocks::Acquirer::AcquireLock::DequeueFromLockQueue Private

Included in:
RedisQueuedLocks::Acquirer::AcquireLock
Defined in:
lib/redis_queued_locks/acquirer/acquire_lock/dequeue_from_lock_queue.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Since:

  • 1.7.0

Defined Under Namespace

Modules: LogVisitor

Instance Method Summary collapse

Instance Method Details

#dequeue_from_lock_queue(redis, logger, lock_key, read_write_mode, lock_key_queue, read_lock_key_queue, write_lock_key_queue, queue_ttl, acquirer_id, host_id, access_strategy, log_sampled, instr_sampled) ⇒ Hash<Symbol,Any>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Format: { ok: true/false, result: Integer }.

Parameters:

  • redis (RedisClient)
  • logger (::Logger, #debug)
  • lock_key (String)
  • read_write_mode (Symbol)
  • lock_key_queue (String)
  • read_lock_key_queue (String)
  • write_lock_key_queue (String)
  • queue_ttl (Integer)
  • acquirer_id (String)
  • host_id (String)
  • access_strategy (Symbol)
  • log_sampled (Boolean)
  • instr_sampled (Boolean)

Returns:

  • (Hash<Symbol,Any>) —

    Format: { ok: true/false, result: Integer }

Since:

  • 1.7.0

Version:

  • 1.13.0



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/redis_queued_locks/acquirer/acquire_lock/dequeue_from_lock_queue.rb', line 26

def dequeue_from_lock_queue(
  redis,
  logger,
  lock_key,
  read_write_mode,
  lock_key_queue,
  read_lock_key_queue,
  write_lock_key_queue,
  queue_ttl,
  acquirer_id,
  host_id,
  access_strategy,
  log_sampled,
  instr_sampled
)
  # @type var result: Integer
  result = redis.call('ZREM', lock_key_queue, acquirer_id)

  LogVisitor.dequeue_from_lock_queue(
    logger, log_sampled,
    lock_key, queue_ttl, acquirer_id, host_id, access_strategy
  )

  { ok: true, result: result }
end