bdeeney / rejected

rejected is a consumer framework for RabbitMQ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Example Processor

from rejected import consumer

class Test(consumer.COnsumer):
    def process(self, message):
        self._logger.debug('In Test.process: %s' % message.body)

Example Configuration

 %YAML 1.2
 ---
 Application:
   monitor: true
   poll_interval: 60
   Connections:
     rabbitmq:
       host: rabbitmq
       port: 5672
       user: rejected
       pass: secret
       ssl: False
       vhost: /
   Consumers:
     test_processor:
       consumer: test_processor.Test
       connections: [rabbitmq]
       queue: test_queue
       min: 2

 Daemon:
     user: rejected
     group: daemon
     pidfile: /var/run/rejected/example.%(pid)s.pid

 Logging:
     version: 1
     formatters:
         verbose:
           format: '%(levelname) -10s %(asctime)s %(process)-6d %(processName) -15s %(name) -25s %(funcName) -20s: %(message)s'
           datefmt: '%Y-%m-%d %H:%M:%S'
         syslog:
           format: " %(levelname)s <PID %(process)d:%(processName)s> %(name)s.%(funcName)s(): %(message)s"
     filters: []
     handlers:
         console:
             class: logging.StreamHandler
             formatter: verbose
             debug_only: true
         syslog:
             class: logging.handlers.SysLogHandler
             facility: local6
             address: /var/run/syslog
             #address: /dev/log
             formatter: syslog
     loggers:
         rejected:
             level: DEBUG
             propagate: true
             handlers: [console, syslog]
         urllib3:
             level: ERROR
             propagate: true
     disable_existing_loggers: false
     incremental: false

About

rejected is a consumer framework for RabbitMQ

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 99.4%Language:Shell 0.6%