Skip to main content

A python implementation of redlock, with examples

Project description

Use cases

  • Got a script that you want to be able to run multiple instances of in parallel?
  • Want to write a program from scratch that's ready to scale up?
  • Using someone else's code that has race conditions and want to singleton-ize it?

Intro

dredlock is a python implementation of redlock https://redis.io/topics/distlock with a set of examples that use docker, redis and docker compose. The advantage of this approch, compared to multithreading, is that is can be applied in a single-threaded context (for example if you have to integrate existing code), or in a mutliple container instance context (think microservices)

Features

  • atomic locking guarantees single lock acquisition
  • works across machines / containers
  • handles dead lock recovery
  • can wrap existing code for cases when you cannot or do not want to do a rewrite.

Key concepts

Toolchain

  • docker - images, containers, volumes
  • docker-compose - building, linking services, scaling services
  • redis - in memory key-value database

Installation

pip install dredlock

See examples for use cases

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dredlock-1.0.tar.gz (2.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dredlock-1.0-py3-none-any.whl (1.7 kB view details)

Uploaded Python 3

File details

Details for the file dredlock-1.0.tar.gz.

File metadata

  • Download URL: dredlock-1.0.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for dredlock-1.0.tar.gz
Algorithm Hash digest
SHA256 b8afd2d4e5b5464daa903986b80307a996fbb6c1015470b7f249d7fff7ec40ec
MD5 ac3f5fba2829dba7e981357c8fac9179
BLAKE2b-256 4b6b1b35cd06bcec18204f1b954c73175712b0e837026466a00ec962e7a740e5

See more details on using hashes here.

File details

Details for the file dredlock-1.0-py3-none-any.whl.

File metadata

  • Download URL: dredlock-1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for dredlock-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a3216868e7a3fec6ad646a2dd64a35fd6be55ad14c8351c7e5a391e907242b3
MD5 d297503c842706883ce28e9b6a00bba2
BLAKE2b-256 36123b8d87cbc8b1f40b788c372933cc4b7e7d5856c3d7ccd6e3975ba5bb6338

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page