rejected

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+.

Version Status Climate License

Features

  • 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

Installation

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]

Issues

Please report any issues to the Github repo at https://github.com/gmr/rejected/issues

Source

rejected source is available on Github at https://github.com/gmr/rejected

Version History

See Changelog

Indices and tables