Skip to main content

pika-based RabbitMQ connector with built in JSON serialization/deserialization

Project description

rabbitqm-alphamoon

[image [image

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rabbitmq-alphamoon-0.1.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

rabbitmq_alphamoon-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file rabbitmq-alphamoon-0.1.0.tar.gz.

File metadata

  • Download URL: rabbitmq-alphamoon-0.1.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5

File hashes

Hashes for rabbitmq-alphamoon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a35c0fc6a106adf6f82c513ebd607ac441c6af323f8799a06cd78187a4a7a3a
MD5 53211a02c8abc620504e944602d3e7dd
BLAKE2b-256 109024c10630b3b81642aa8ad45ef7c9144fd26c5f946157338b5e354bfc3c12

See more details on using hashes here.

File details

Details for the file rabbitmq_alphamoon-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rabbitmq_alphamoon-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5

File hashes

Hashes for rabbitmq_alphamoon-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80534b4ecaba3fc276c9e81577efb20cfa19112a7799e5a059957c5f0b05b973
MD5 1a2c08ec319790c496f0cf4e478cc8fa
BLAKE2b-256 443f68220e1cad400eed32617c42bb1cb2125afe4a301d9086441fb712182767

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