Skip to main content

FIFO Queue for Bottle built upon HotQueue

Project description

FIFO message queue plugin for bottle.py based on HotQueue

bottle.py is a fast and simple micro-framework for python web-applications.

HotQueue is a Python library that allows you to use Redis as a message queue within your Python programs.

Installation

$ pip install bottle-hotqueue

From source

$ python setup.py install

Dependencies

bottle and hotqueue

Getting Started

Importing and using the plugin in Bottle

import bottle
from bottlehotqueue import Plugin


app = bottle.Bottle()
hotqueue = Plugin(keyword="myhotqueue")
app.install(hotqueue)


@app.post('/put/:value', myhotqueue={'queue': 'myqueue'})
def send_message(value, myqueue):
    """ This will put an item in the queue hotqueue:myqueue.
    """
    return myqueue.put(value)


@app.get('/get/', myhotqueue={'queue': 'myqueue'})
def get_message(myqueue):
    """ We will now try to get a item from hotqueue:myqueue.
        if the queue is empty, we instead raise a 404.
    """
    result = myqueue.get()
    if not result:
        raise bottle.HTTPError(404, "Queue is Empty")
    return result

bottle.run(app, host='', port=8080)

The plugin will use json (or simplejson if available) as the standard serializer. This behaviour can be reverted to match the default implementation by passing asjson=False when instantiating the plugin. It will then conform to the standard HotQueue way of serializing objects by using pickle (or cpickle if available).

hotqueue = Plugin(keyword="myhotqueue", asjson=False)

Writing a simple consumer

import json
from hotqueue import HotQueue


queue = HotQueue("myqueue", host="localhost", serializer=json)

for item in queue.consume():
    print item

More on HotQueue: http://richardhenry.github.com/hotqueue/

License

MIT

Github links

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

bottle-hotqueue-0.2.5.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file bottle-hotqueue-0.2.5.tar.gz.

File metadata

File hashes

Hashes for bottle-hotqueue-0.2.5.tar.gz
Algorithm Hash digest
SHA256 acdf87e15a61cd6f3eab63eb3cdf0ffafd081509dae34c717f5b47890823ad70
MD5 579520adec41648b570f45267a618cd2
BLAKE2b-256 ca43e469b26fa16096fdc0bbf515ec957c000d28c143af3597f1942f1fb2cf97

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page