Skip to main content

Python Disque client (very very alpha, as is Disque itself)

Project description

# disq

A [disque]( Python client.

[ ![Codeship Status for ryansb/disq](](

Under the hood, this used redis-py's HiRedis implementation and switches out
Redis commands with the disque ones.

## Usage

from disq import Disque

c = Disque() # connects to localhost:7711 by default
c.addjob('queuename', 'body') # takes all ADDJOB arguments
# b'DI... job id ...SQ'
# [[b'queue', b'DI3971f14a850d9e5b3ca5c881e3dd1ba2a34277b505a0SQ', b'body']]

## Status

This library is ready to use with single or multi-node clusters. All commands
are implemented except for `QSTAT` and `SCAN`, which don't exist in the disque
server yet.

## Features

### Connection Balancing

As specified in the [disque README][clients], disq directs read and ack
operations (GETJOB, ACKJOB, FASTACK) to whichever member of the cluster it has
received the most jobs from in the last N seconds.

To change the length of the job count window, use the `job_origin_ttl_secs`
argument when creating the disque client.

## License

This code is released under the ASL2.0, see the `LICENSE` file for details.

## Thanks

Enormous thanks to Salvatore Sanfilippo (antirez) for writing
[disque]( and
[Andy McCurdy](, author of the
[redis-py]( module.


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

disq-0.0.4.tar.gz (17.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page