A distributed semaphore and mutex built on Redis.
Project description
A distributed semaphore and mutex built on Redis.
Installation
To install redis-semaphore, simply:
pip install redis-semaphore
Or alternatively, you can download the repository and install manually by doing:
git clone git@github.com:bluele/redis-semaphore.git cd redis-semaphore python setup.py install
Examples
from redis import Redis from redis_semaphore import Semaphore from threading import Thread import urllib2 import time semaphore = Semaphore(Redis(), count=2, namespace='example') def task(i): url = 'https://www.google.co.jp/' with semaphore: print('id: {} => {}'.format(i, urllib2.urlopen(url).code)) print('sleep...') time.sleep(2) def main(): threads = list() for i in range(5): threads.append(Thread(target=task, args=(i,))) for th in threads: th.start() for th in threads: th.join() if __name__ == '__main__': main()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Redis-Semaphore-0.2.0.tar.gz
(3.8 kB
view hashes)
Built Distributions
Close
Hashes for Redis-Semaphore-0.2.0.macosx-10.11-intel.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ea3cc51e79a799655ba2e9869e46a70098a402c21d2d4bf94e4ea8ed76963d2 |
|
MD5 | 92710c96773bbc6f09dd160b21c991fa |
|
BLAKE2b-256 | 58d631628e754f0ab4d680ee5eb49c0b5dfbf9b355665ac780b9dd67138e72ed |