Simple AMQP lib
Project description
Simple AMQP
A simple AMQP lib for Python
Installation
# Asyncio
pip install simple-amqp[asyncio]
# Gevent
pip install simple-amqp[gevent]
Example usage
# Asyncio
from asyncio import get_event_loop, sleep
from simple_amqp import AmqpMsg, AmqpParameters
from simple_amqp.asyncio import AsyncioAmqpConnection
conn = AsyncioAmqpConnection(AmqpParameters(host='localhost'))
channel = conn.channel()
exchange = channel.exchange('exchange.name', 'topic', durable=True)
async def msg_received(msg: AmqpMsg):
if msg.payload == b'ok':
return True # ack msg
return False # nack msg
channel \
.queue('queue.name', durable=True) \
.bind(exchange, 'topic.name') \
.consume(msg_received)
async def main():
await conn.start()
await channel.publish(AmqpMsg(
exchange='exchange.name',
topic='topic.name',
payload=b'ok',
))
await sleep(1)
await conn.stop()
loop = get_event_loop()
loop.run_until_complete(main)
# Gevent
from gevent import monkey
monkey.patch_all()
from time import sleep
from simple_amqp import AmqpMsg, AmqpParameters
from simple_amqp.gevent import GeventAmqpConnection
conn = GeventAmqpConnection(AmqpParameters(host='localhost'))
channel = conn.channel()
exchange = channel.exchange('exchange.name', 'topic', durable=True)
def msg_received(msg: AmqpMsg):
if msg.payload == b'ok':
return True # ack msg
return False # nack msg
channel \
.queue('queue.name', durable=True) \
.bind(exchange, 'topic.name') \
.consume(msg_received)
conn.start()
channel.publish(AmqpMsg(
exchange='exchange.name',
topic='topic.name',
payload=b'ok',
))
sleep(1)
conn.stop()
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file simple_amqp-0.2.6-py2.py3-none-any.whl
.
File metadata
- Download URL: simple_amqp-0.2.6-py2.py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d553554c46e4fd99f9534e4db4f9dfaf8544afd4d0d3dcabf4680550593aed60 |
|
MD5 | cb348bb08762265a5d15a2164d890a19 |
|
BLAKE2b-256 | 5ceda71dbacdbce1fe29ef9d6e94395243aa330e27088a40f4cc51700fdf6453 |