No project description provided
Project description
curv_amqp
Pika framework that handles reconnecting while using a blocking connection and has helpful defaults, building blocks, type hints, and a priority requeue method
Usage
from argparse import ArgumentParser
from curv_amqp.connection import Connection, URLParameters, ConnectionParameters
from curv_amqp.publisher import Publisher
from curv_amqp.consumer import Consumer, ConsumerMessage
def on_message_callback(message: ConsumerMessage):
print('message.body:', message.body)
message.ack()
message.consumer.stop_consuming()
def main():
parser = ArgumentParser()
parser.add_argument('--url', type=str, default='localhost', help='amqp url or localhost - '
'localhost assumes rabbitmq is installed - '
'"brew install rabbitmq"')
parser.add_argument('--queue', type=str, default='test-queue-name', help='amqp queue name')
parser.add_argument('--body', type=str, default='your message', help='amqp message body')
args = parser.parse_args()
# pass in URLParameters or ConnectionParameters
# its recommended that a single connection per process is used.
url: str = args.url
parameters = ConnectionParameters(url) if url is 'localhost' else URLParameters(url)
queue_name = args.queue
body = bytes(args.body, encoding='utf-8')
connection = Connection(parameters=parameters)
# its required that two different channels are used for a publisher and consumer
# NOTE: will automatically declare queue for you
publisher = Publisher(connection=connection)
publisher.publish(routing_key=queue_name, body=body)
consumer = Consumer(connection=connection)
consumer.consume(queue=queue_name, prefetch_count=1, on_message_callback=on_message_callback)
if __name__ == '__main__':
main()
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
curv_amqp-1.0.0.tar.gz
(6.8 kB
view hashes)
Built Distribution
Close
Hashes for curv_amqp-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359c6f44cafa11bcda4a8f9663d8523640c698687a1d4fc8edd0fe621e1eb233 |
|
MD5 | 863ffea754f712f7a6cbda656143f76c |
|
BLAKE2b-256 | b0232cc99bc088bf2611bfe59bd32ce3b36ef70f226b2deecd09b5f410dee485 |