zc.lockfile 1.0.0
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
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| zc.lockfile-1.0.0.tar.gz (md5) | Source | 2008-10-18 | 3KB | 101851 | |
- Author: Jim Fulton
- Home Page: http://www.python.org/pypi/zc.lockfile
- Keywords: lock
- License: ZPL 2.1
- Categories
- Package Index Owner: J1m
- DOAP record: zc.lockfile-1.0.0.xml
