Rejected is a AMQP consumer daemon and message processing framework. It allows for rapid development of message processing consumers by handling all of the core functionality of communicating with RabbitMQ and management of consumer processes.
Rejected runs as a master process with multiple consumer configurations that are each run it an isolated process. It has the ability to collect statistical data from the consumer processes and report on it.
Rejected supports Python 2.7 and 3.4+.
- Automatic exception handling including connection management and consumer restarting
- Smart consumer classes that can automatically decode and deserialize message bodies based upon message headers
- Metrics logging and submission to statsd and InfluxDB
- Built-in profiling of consumer code
- Ability to write asynchronous code in consumers allowing for parallel communication with external resources
rejected is available from the Python Package Index and can be installed by running pip install rejected.
For additional dependencies for optional features:
- To install HTML support, run pip install rejected[html]
- To install InfluxDB support, run pip install rejected[influxdb]
- To install MessagePack support, run pip install rejected[msgpack]
- To install Sentry support, run pip install rejected[sentry]
- For testing, including all dependencies, run pip install rejected[testing]