Skip to main content

Helper library for using pika.

Project description

Pikacon is a helper library which will reduce the amount of boilerplate your software needs when it is using pika for creating connection to broker and declaring exchanges and queues.

Requirements

  • python 2.7

  • pika >= 0.9.8

Usage

Pikacon provides helper class which can be imported to your program. Class takes a path to .ini-style config file as a parameter and creates connection, exchanges, queues and bindings automatically from there. All you need to provide is a proper config.

Creation order is following:

  1. Connection

  2. Channel

  3. Exchanges

  4. Queues

  5. Bindings

Config

Pikacon uses Pythons ConfigParser to get config for connection, exchanges and queues.

Broker

Broker is configured as in above example. Section name is broker and options are regular pika parameters for broker. If you want to configure ssl_options create new section for those and refer that section name in broker options. Eg.:

[broker]
...
ssl = True
ssl_options = my_ssl_options

[my_ssl_options]
...

Exchange

Section name for exchange consists of two parts divided by ‘:’. First part is ‘exchange’ and second part is the name of the exchange (eg. [exchange:myexchange]).

The actual options below exchange section are normal key = value parameters which are used in pika.

Queue

The section for queue consits of two parts divided by ‘:’. First part is ‘queue’ and second part is the name of the queue (eg. [queue:myqueue]).

The options below queue section are::

durable = True|False exclusive = True|False arguments = queue:queuename:arguments

Extra arguments for the queue are provided by another section. Pikacon assumes that the name of the arguments section follows following convention ‘queue:queuename:nameofargumentssection’.

The actual options below queue section are normal key = value parameters which are used in pika.

Binding

The name of the binding section consists three parts divided by ‘:’. First part is always ‘binding’. Second part is the name of the queue we’re binding. Third part is name of the exchange where we’re binding the queue. (eg. [binding:myqueue:myexchange]).

The actual options below binding section are normal key = value parameters which are used in pika.

Complete configuration example

::

[broker] host = localhost port = 5672 username = guest password = guest virtual_host = / heartbeat = 60

[exchange:exchangename] type = direct durable = False auto_delete = True

[queue:testqueue1] durable = True exclusive = False

[queue:testqueue2] durable = False exclusive = False

[queue:testqueue3] durable = True exclusive = False arguments = queue:testqueue3:arguments

[queue:testqueue4] durable = True exclusive = False

[queue:testqueue3:arguments] x-message-ttl = 1800000 x-dead-letter-exchange = exchangename x-dead-letter-routing-key = key4

[binding:testqueue1:exchangename] routing_key = key1

[binding:testqueue2:exchangename] routing_key = key2

[binding:testqueue3:exchangename] routing_key = key3

[binding:testqueue4:exchangename] routing_key = key4

Above example configures connection to broker at localhost. It defines one direct exchange called exchangename and four queues called testqueue1, testqueue2, testqueue3 and testqueue4. Testqueue3 has extra arguments which define dead letter exchange. All queues are bound to our only exchange with routingkeys key1, key2, key3 and key4.

CHANGELOG

0.3 - 2012-12-02

  • Requires Pika >= 0.9.8

  • Supports same parameter set for connections as pika does.

  • Shortened configuration file structure. Configuration files made for older versions of pikacon doesn’t work anymore.

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

pikacon-0.3.zip (12.3 kB view details)

Uploaded Source

File details

Details for the file pikacon-0.3.zip.

File metadata

  • Download URL: pikacon-0.3.zip
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pikacon-0.3.zip
Algorithm Hash digest
SHA256 3353f32353bb7027bbd14da913f33622757c2889db333b65c90dbbeba87be563
MD5 6256fe3a22eab33f60916b20d3ce9f93
BLAKE2b-256 057719503d6f5d091cd8b2be874062be33dd5e3a49abaa89066d6c443959d07a

See more details on using hashes here.

Supported by

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