Skip to main content

Mixin for publishing events to RabbitMQ as avro datums

Project description

AMQP Publishing Mixin for publishing messages as Avro datum

Version Downloads

Installation

sprockets.mixins.avro-publisher is available on the Python Package Index and can be installed via pip or easy_install:

pip install sprockets.mixins.avro-publisher

Requirements

  • sprockets.mixins.amqp>=1.0.0

Example

This examples demonstrates the most basic usage of sprockets.mixins.avro-publisher

export AMQP_URL="amqp://user:password@rabbitmq_host:5672/%2f"
python my-example-app.py
from tornado import gen
from tornado import web
from sprockets.mixins import avro_publisher

def make_app(**settings):
    settings = {'avro_schema_uri_format': 'http://my-schema-repository/%(name)s.avsc'}
    application = web.Application(
        [
            web.url(r'/', RequestHandler),
        ], **settings)

    avro_publisher.install(application)
    return application

class RequestHandler(avro_publisher.AvroPublishingMixin, web.RequestHandler):

    @gen.coroutine
    def get(self, *args, **kwargs):
        body = {'request': self.request.path, 'args': args, 'kwargs': kwargs}
        yield self.amqp_publish('exchange', 'routing.key', body,
                                {'content_type': avro_publisher.DATUM_MIME_TYPE,
                                 'type': 'avro-schema-name'})

if __name__ == "__main__":
    application = make_app()
    application.listen(8888)
    logging.basicConfig(level=logging.INFO)
    ioloop.IOLoop.current().start()

Source

sprockets.mixins.avro-publisher source is available on Github at https://github.com/sprockets/sprockets.mixins.avro-publisher

License

sprockets.mixins.avro-publisher is released under the 3-Clause BSD license.

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

sprockets.mixins.avro-publisher-1.0.1.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file sprockets.mixins.avro-publisher-1.0.1.tar.gz.

File metadata

File hashes

Hashes for sprockets.mixins.avro-publisher-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3721c1b64a09b95dfebd3c63932fb8a97264d92067df633b2335bbb51db2ee7c
MD5 23064e10539cff0266150b8490ac27e6
BLAKE2b-256 cab1d7a4cace0a243a60bc76e23018a1c2da37fe10ca9b4c3333190c5d5fc5af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page