locks 0.1.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

locks 0.1.1

locks


POSIX file system locking using flock.
Getting started
Install this package with
pip install locks

Usage
The simplest usage is to block indefinitely until the lock is acquired
from locks import Mutex

with Mutex('/tmp/file.lock'):
# do exclusive stuff here

Alternatively, block until a timeout is reached
from locks import Mutex

try:
with Mutex('/tmp/file.lock', timeout=0.5):
# do exclusive stuff here
except BlockingIOError:
# handle the failure to acquire the lock

Finally, a common paradigm is to attempt to acquire the lock without blocking,
do something, and then block indefinitely. Here callback will be called once
if we cannot immediately acquire the lock, and then we will block indefinitely.
def callback():
print("Blocking: waiting for file lock on '/tmp/file.lock'")

with Mutex('/tmp/file.lock', callback=callback):
# do exclusive stuff here

If both callback and timeout are used then we will attempt to
acquire the lock until the timeout is reached, and then we will block
indefinitely.
License
This project is licensed under the MIT License. See the LICENSE file.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.