pika-based RabbitMQ connector with built in JSON serialization/deserialization
Project description
rabbitqm-alphamoon
pika-based RabbitMQ connector with built in JSON serialization/deserialization
Features
- publishing:
publish(message)
- getting number of messages in the queue:
message_count
- consuming (forever, i.e. with a callback function):
consume_forever(callback_fun)
See code examples in the "Examples" section.
Requirements
pika==1.2.0
Installation
You can install "rabbitmq-alphamoon" via pip from PyPI:
$ pip install rabbitmq-alphamoon
Examples
Initialization
import pika
from rabbitmq_alphamoon import RabbitMQConnector
parameters = pika.ConnectionParameters(
host=rabbitmq_host,
port=rabbitmq_port,
credentials=pika.PlainCredentials(
username=rabbitmq_username,
password=rabbitmq_password,
),
)
queue = RabbitMQConnector(
connection_parameters=parameters,
queue=queue_name,
)
Publishing
message = {'foo': 'bar'}
with queue.open_connection():
queue.publish(message)
Getting a number of the messages in the queue
message_count = queue.message_count
Consuming
def process_message(message):
print(message)
with queue.open_connection():
queue.consume_forever(process_message_callback=process_message)
Short form for one-time usage of connector
If you do not need to reuse the connector, you can initialize and open connection without assignment of connector to a variable before calling open_connection
context manager. This may come in handy especially in case of consuming, where connector is usually used only to call consume_forever
function.
with RabbitMQConnector(
connection_parameters=parameters,
queue=queue_name,
).open_connection() as queue:
queue.consume_forever(process_message_callback=process_message)
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT license, "rabbitmq-alphamoon" is free and open source software
Issues
If you encounter any problems, please email us at dev@alphamoon.ai, along with a detailed description.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rabbitmq_alphamoon-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347d551bbf6a5fd3c71a325dd1e20dd77e3b1f47a4bac68bbbabb18660ec17e3 |
|
MD5 | 8f1caa10e69c2c5dbbc6fa602d47c04b |
|
BLAKE2b-256 | cbd7d9264f39476a36beb230c51565c9d96cf5b0848161c49aa289d7ac185b5e |