Skip to content

Async support#15

Open
SagiMedina wants to merge 5 commits intoaliyunmq:masterfrom
SagiMedina:async_support
Open

Async support#15
SagiMedina wants to merge 5 commits intoaliyunmq:masterfrom
SagiMedina:async_support

Conversation

@SagiMedina
Copy link
Copy Markdown

@SagiMedina SagiMedina commented Mar 3, 2022

Adding async support for MQ client

On a simple test run, we got from 10K messages in ~50 minutes to 10K messages in under 1 min!

import asyncio

from mq_http_sdk.mq_client import MQClient
from mq_http_sdk.mq_producer import TopicMessage

topic_name = "Async-POC"
instance_id = "XXX"

mq_client = MQClient(host="XXX", access_id="XXX", access_key="XXX")

producer = mq_client.get_producer(instance_id, topic_name)

async def multi_publish_message():
    async with producer.async_session():
        await producer.async_publish_message(TopicMessage("This is async 1", message_tag="async1.1"))
        await producer.async_publish_message(TopicMessage("This is async 2", message_tag="async1.2"))

async def single_publish_message():
    await producer.async_publish_message(TopicMessage("This is async 3", message_tag="async1.3"))

asyncio.run(multi_publish_message())

asyncio.run(single_publish_message())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant