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 details)

Uploaded Source

File details

Details for the file asyncamqp-0.1.7.tar.gz.

File metadata

  • Download URL: asyncamqp-0.1.7.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for asyncamqp-0.1.7.tar.gz
Algorithm Hash digest
SHA256 d70b25e53179351058d1aa125d1d4f9a9e7bde5dd5010bb0491c1320857ef974
MD5 73555db8f1a89b4c3374b19854d613b4
BLAKE2b-256 78ea67c627b9c6dc48f6a146e4ac7195f073456fc5e2cc1f8666ae2141ff483b

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