Skip to main content

Basic inter-process locks

The zc.lockfile package provides a basic portable implementation of interprocess locks using lock files. The purpose if not specifically to lock files, but to simply provide locks with an implementation based on file-locking primitives. Of course, these locks could be used to mediate access to other files. For example, the ZODB file storage implementation uses file locks to mediate access to file-storage database files. The database files and lock file files are separate files.

Detailed Documentation

Lock file support

The ZODB lock_file module provides support for creating file system locks. These are locks that are implemented with lock files and OS-provided locking facilities. To create a lock, instantiate a LockFile object with a file name:

>>> import zc.lockfile
>>> lock = zc.lockfile.LockFile('lock')

If we try to lock the same name, we’ll get a lock error:

>>> import zope.testing.loggingsupport
>>> handler = zope.testing.loggingsupport.InstalledHandler('zc.lockfile')
>>> try:
...     zc.lockfile.LockFile('lock')
... except zc.lockfile.LockError:
...     print "Can't lock file"
Can't lock file
>>> for record in handler.records:
...     print record.levelname, record.getMessage()
ERROR Error locking file lock; pid=UNKNOWN

To release the lock, use it’s close method:

>>> lock.close()

The lock file is not removed. It is left behind:

>>> import os
>>> os.path.exists('lock')
True

Of course, now that we’ve released the lock, we can created it again:

>>> lock = zc.lockfile.LockFile('lock')
>>> lock.close()

Change History

1.0.0 (2008-10-18)

  • Fixed a small bug in error logging.

1.0.0b1 (2007-07-18)

Initial release

Download

Metadata

Release files for zc.lockfile 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zc.lockfile 1.0.0
File Size Uploaded
zc.lockfile-1.0.0.tar.gz 4.0 kB Details

Release files / zc.lockfile-1.0.0.tar.gz

Download URL zc.lockfile-1.0.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1f170e46eff20ae6c81cad5465f26702f3d3435e0511fb7983cd61a6ed84d5c0
BLAKE2b-256 checksum
How to use checksums
fecf7e0d2764a100f3ca26ad348039593f2c699a9299c4474f84484055ac0b11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.0

2 release files

3.0

2 release files

2.0

2 release files

1.4

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.2

1 release file

1.0.1

1 release file

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page