Skip to main content

aioampq without callbacks!

Project description

Asyncamqp is a little extension to aioamqp based on the ideas from this pull request (https://github.com/Polyconseil/aioamqp/pull/118). The changes here get rid of the callbacks stuff.

Install

Install it using pip

$ pip install asyncamqp

Usage

To publish stuff, just do the same as you would do with aioamqp:

await channel.basic_publish(payload='hi there!', exchange_name='',
                            routing_key='my-rt')

To consume stuff, you don’t need to use callbacks anymore.

async with channel.basic_consume(queue_name='my-queue', exchange_name='',
                                 routing_key='my-queue') as consumer:
    async for msg in consumer:
        print(msg.body)

Consuming messages this way we always wait for a new message to arrive in the queue. We can use a timeout in milliseconds for it, too:

# now we pass the timeout argument
async with channel.basic_consume(queue_name='my-queue', exchange_name='',
                                 routing_key='my-queue',
                                 timeout=100) as consumer:
    async for msg in consumer:
        print(msg.body)

Or we could simply consume the messages already in the queue and stop consuming stuff when we have no more messages:

# now we pass the wait_message argument.
async with channel.basic_consume(queue_name='my-queue', exchange_name='',
                                 routing_key='my-queue',
                                 wait_message=False) as consumer:
    async for msg in consumer:
        print(msg.body)

As it is a simple extension to aioamqp, please refer to the aioamqp’s docs for full information. Just remember that when consuming it you don’t use callbacks but the context manager/async for stuff.

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

asyncamqp-0.1.7.tar.gz (17.3 kB view hashes)

Uploaded Source

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