A distributer that helps to publish to a queue and process tasks from a queue
Project description
Overview
A queue manager based on rq and made for impulsare. It helps to : - add items to a queue - listen for a queue via a cli listener
See tests/static/ for examples of configuration.
Installation / Usage
To install use pip:
$ pip install --upgrade impulsare-distributer
Configuration
You need to create/add to your configuration file:
distributer:
# Required, redis address
host: 192.168.108.3
# Optional
port: 6379
# If a component needs to send data to a queue,
# define here where what is the queue's name (next one)
# used by impulsare-ruler to send to writer for example (ruler: {queue: writer})
testqueue:
queue: my_test_queue
Listener
This is a simple implementation of rq's worker. If you need to listen for a queue, no need to have a config file, run in cli:
$ queue-listener --host redis --queue my_test_queue
To be able to see the next example working, keep that opened in a separate window.
Queue Usage
To use the queue manager, and send jobs to be processed:
from impulsare_distributer import QueueManager
from mymodule import my_method
queue = QueueManager(config_file='tests/static/config_valid.yml', listener='testqueue')
queue.add(method=my_method, item='Hello World', job='test')
Development & Tests
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
$ py.test
If you run your tests with a different redis server than localhost:
$ REDIS=redis py.test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for impulsare-distributer-1.0b4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5b8d70de8c992c6f3aca17132f69d3d42a59b825bc86fdb59d8462a9f3b8416 |
|
MD5 | b687265a088928edf4980c2ab883bcaf |
|
BLAKE2b-256 | 24f1d3110c61d789d4686a61e7d27aae173c5dbbda020616318ad52aebaadfbd |