combo-lock

Precompiled Python bytecode for py3-combo-lock

APACHE-2.0 License

Downloads
14.4K
Stars
4
Committers
4

Combo Lock

The combo-lock is a combination of a process lock and a thread lock. Usable in cases both multiple threads and multiple processes are sharing the same resource such as a file in the file system.

The module utilizes the FileLock from filelock and the standard Lock from threading.

The FileLock uses a filesystem lock so the initialization of the class requires a path for the lock file.

Example

from combo_lock import ComboLock

lock = ComboLock('/tmp/my.lock')

with lock:
    write_my_shared_resource()


A NamedLock will save the lock file to shared memory using memory-tempfile

from combo_lock import NamedLock

lock = NamedLock('some_name')

with lock:
    write_my_shared_resource()

History

The combo-lock was originally created for Mycroft-core but as it's been useful in other projects a separate release seemed appropriate.

Package Rankings
Top 18.97% on Alpine-edge
Top 16.19% on Alpine-v3.17
Top 14.77% on Alpine-v3.18
Top 10.64% on Pypi.org