This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple Python resource lock to ensure only one process at a time is operating with a particular resource.

Project Description

A simple Python resource lock to ensure only one process at a time is operating with a particular resource.

Singleton Usage

Singleton creates a file containing process information to ensure that the process that created the lock is still alive. The default location is in the .lock directory in the current working directory. If this directory does not exist, singleton will create it automatically.

Simple usage:

from quicklock import singleton

singleton('my-process') # This will ensure that only one of these is running at once
                        # The lock is released when the process that created the lock
                        # exits (successfully or quits unexpectedly)

# Intensive processing here

Specifying the lock directory:

from quicklock import singleton

singleton('my-process', dirname='/var/lock') # Now all lock files will be written to
                                             # /var/lock instead

# Intensive processing here

Contributing

Please feel free to create issues and submit pull requests. I want to keep this library as a simple collection of useful locking-related utilities.

License

The license is MIT, see the attached LICENSE file for more information.

Release History

Release History

This version
History Node

0.1.7

History Node

0.1.6

History Node

0.1.5

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
quicklock-0.1.7.tar.gz (2.0 kB) Copy SHA256 Checksum SHA256 Source Jan 28, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting