Kafka Producer(Python threading)

import threading
import time
import random
from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers='192.168.1.10:9092')
threads = []

class MyThread(threading.Thread):
def __init__(self, threadName, delay):
threading.Thread.__init__(self)
self.threadName=threadName
self.delay=delay

def run(self):
sendinfo(self.threadName, self.delay)

def sendinfo( threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
data = "".join(random.sample(
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z'], 10)).replace(" ", "")

word=("%s, %s, %s, %s" % (threadName, count, data, time.ctime(time.time())))
producer.send('test', key=threadName, value=word)
print (word)

try:
t1=MyThread("Thread-1",0)
threads.append(t1)
t2=MyThread("Thread-2",0)
threads.append(t2)
t3=MyThread("Thread-3",0)
threads.append(t3)

for t in threads:
t.start()

for t in threads:
t.join()

producer.send('test', key="Thread-1", value="exit")
producer.send('test', key="Thread-2", value="exit")
producer.send('test', key="Thread-3", value="exit")

print ("exit program with 0")
except:
print ("Error: failed to run producer program")

转载于:https://www.cnblogs.com/michaelying/p/7260887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值