Ensures that messages pass to kafka client are bytes string
Story: 2003178 Task: 23324 Change-Id: I3ae6830fbbe80bf56726886d658c55dda965d717
This commit is contained in:
parent
55dbc317ff
commit
304772fa18
@ -16,6 +16,7 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
from oslo_utils import encodeutils
|
||||
from six import PY3
|
||||
|
||||
import monasca_common.kafka_lib.client as kafka_client
|
||||
@ -53,11 +54,11 @@ class KafkaProducer(object):
|
||||
success = False
|
||||
if key is None:
|
||||
key = int(time.time() * 1000)
|
||||
if PY3:
|
||||
key = bytes(str(key), 'utf-8')
|
||||
messages = [m.encode("utf-8") for m in messages]
|
||||
else:
|
||||
key = str(key)
|
||||
|
||||
messages = [encodeutils.to_utf8(m) for m in messages]
|
||||
|
||||
key = bytes(str(key), 'utf-8') if PY3 else str(key)
|
||||
|
||||
while not success:
|
||||
try:
|
||||
self._producer.send_messages(topic, key, *messages)
|
||||
|
Loading…
x
Reference in New Issue
Block a user