apicrud.Mutex

class apicrud.Mutex(lockname, redis_host=None, maxwait=20, ttl=0, redis_conn=None)

Simple mutex implementation for non-clustered Redis

Parameters
  • lockname (str) – a unique name for the lock

  • redis_host (str) – IP or DNS name of redis service

  • maxwait (int) – seconds to wait for a lock

  • ttl (int) – seconds to hold lock

  • redis_conn (obj) – existing redis connection

__init__(lockname, redis_host=None, maxwait=20, ttl=0, redis_conn=None)

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(lockname[, redis_host, maxwait, …])

Initialize self.

acquire()

Acquire a mutex lock

release()

Release a lock

acquire()

Acquire a mutex lock

Raises

TimeoutError – if the resource is unavailable

release()

Release a lock