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

Hungry Hungry Hippos, (HHH) 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 hungry-hungry-hippos

See examples for use cases

Project details


Download files

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

Source Distribution

hungry_hungry_hippos-1.0.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

hungry_hungry_hippos-1.0-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

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