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
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
File details
Details for the file bottle-hotqueue-0.2.5.tar.gz
.
File metadata
- Download URL: bottle-hotqueue-0.2.5.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | acdf87e15a61cd6f3eab63eb3cdf0ffafd081509dae34c717f5b47890823ad70 |
|
MD5 | 579520adec41648b570f45267a618cd2 |
|
BLAKE2b-256 | ca43e469b26fa16096fdc0bbf515ec957c000d28c143af3597f1942f1fb2cf97 |