kubemq-io / kubemq-Python

Python client for KubeMQ server https://kubemq.io
MIT License
23 stars 9 forks source link

100% CPU usage when subscribe to Queries or Commands #51

Open sa4zet opened 1 year ago

sa4zet commented 1 year ago

How to reproduce:

  1. start a kubemq server
  2. run the following python code:
    
    import logging
    from typing import Optional

from kubemq.commandquery import Responder, RequestReceive, Response from kubemq.subscription import SubscribeRequest, SubscribeType, EventsStoreType from kubemq.tools import ListenerCancellationToken

def message_handler(request: RequestReceive) -> Optional[Response]: if request is None: return None response = Response(request) response.request_id = request.request_id response.reply_channel = request.reply_channel return response

def error_handler(error: str) -> None: logging.error(error)

if name == "main": cancellation_token = ListenerCancellationToken() responder = Responder(kubemq_address="kubemq:50000") subscribe_request = SubscribeRequest( channel="channel_name", client_id="client", events_store_type=EventsStoreType.Undefined, events_store_type_value=0, subscribe_type=SubscribeType.Queries ) responder.subscribe_to_requests( subscribe_request=subscribe_request, handler=message_handler, error_handler=error_handler, listener_cancellation_token=cancellation_token ) input("press enter to end receiving messages")



![image](https://user-images.githubusercontent.com/47056463/223779368-1752762d-3fe9-410f-95d0-b9de5715baae.png)

Environment:

- kubemq community edition version: v2.3.7
- Python 3.11.2
- kubemq==2.3.0