Distributed Locking for command line apps using Redis Redlock algorithm
fredlock distributed locking utility
fredlock is a distributed locking tool based on Redis RedLock algorithm intended as a replacement for “flock” command line utility, it allows to run commands on multiple machines with a guarantee that no two instances will be running at the same time.
fredlock requires a shared Redis instance to provide locking
0.1.3 - No Changes (testing auto-release)
0.1.2 - No Changes (testing auto-release)
--redis_ssl
and --redis-unix-socket-path
command line options for now,
not compatible with older redis clients--auto-release-time x
)--wait-timeout -1
)--wait-timeout x
(x > 0))--wait-timeout 0
)--delay-after-acquire x
) --delay-before-release x
)Some other ideas/desired features:
From PyPi:
pip install fredlock
Full build-in usage is available with --help
flag.
Simplest usage to run a command command arg1 arg2
with lock command:
fredlock run command arg1 arg2
Simplest usage to run a command command arg1 arg2
with lock lockname:
fredlock --name lockname run command arg1 arg2