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.1.tar.gz (5.3 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: asyncamqp-0.1.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for asyncamqp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8273e0eeec2d46dbda885e2c24339f17701465a59f2345ff434df65ce5c61b21
MD5 b648846d81ee7ff308d9c036791d5560
BLAKE2b-256 caf87ddb5b27af1d2b1655edbe86df1fe412a5d24db79380a5ebddec92c70554

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page