Skip to main content
https://travis-ci.org/bluele/redis-semaphore.svg?branch=master

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()

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.2.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file Redis-Semaphore-0.2.2.tar.gz.

File metadata

File hashes

Hashes for Redis-Semaphore-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c3ce7113fda317692c27ed704e3da41444f1c004d5bd19a0aaa56adfda5bbaec
MD5 c3ac847879525089ae1b7ae526757342
BLAKE2b-256 30de431fbf151d1f7cf72b14d6f7ddc700310e6692aac116eda3b1e9800c9f55

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 file

0.2.1

1 file

0.2.0

3 files

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page