Module: RedisSingleFile

Defined in:
lib/redis_single_file.rb,
lib/redis_single_file/version.rb,
lib/redis_single_file/semaphore.rb,
lib/redis_single_file/configuration.rb,
lib/redis_single_file/cluster_client_builder.rb

Overview

RedisSingleFile - Distributed Execution Synchronization

Redis single file is a queue-based implementation of a remote/shared semaphore for distributed execution synchronization. A distributed semaphore may be useful for synchronizing execution across numerous instances or between the application and background job workers.

Author:

  • lifeBCE

Defined Under Namespace

Classes: ClusterClientBuilder, Configuration, Semaphore

Constant Summary collapse

Mutex =

alias semaphore as mutex

Semaphore
QueueTimeoutError =

internal blpop timeout exception class

Class.new(StandardError)
ClusterDisabledError =

MOVED response received but no cluster configured

Class.new(StandardError)
VERSION =
'0.1.2'

Class Method Summary collapse

Class Method Details

.configuration {|Configuration.instance| ... } ⇒ Configuration

Returns singleton instance.

Yields:

Returns:



34
35
36
# File 'lib/redis_single_file.rb', line 34

def configuration
  yield Configuration.instance if block_given?
end

.newSemaphore

Returns distributed locking instance.

Returns:

  • (Semaphore)

    distributed locking instance



39
# File 'lib/redis_single_file.rb', line 39

def new(...) = Semaphore.new(...)