ORIGIN DATA
This commit is contained in:
@@ -82,6 +82,27 @@ class KafkaService:
|
||||
self.producer.flush()
|
||||
return success_count
|
||||
|
||||
def produce_raw(self, raw_data: dict) -> bool:
|
||||
"""发送原始数据到Kafka"""
|
||||
try:
|
||||
# 使用原始数据中的某个字段作为key,或生成一个
|
||||
key = raw_data.get("ACE760", "") or raw_data.get("aca112", "")
|
||||
future = self.producer.send(self.topic, key=key, value=raw_data)
|
||||
future.get(timeout=10)
|
||||
return True
|
||||
except KafkaError as e:
|
||||
logger.error(f"发送原始消息失败: {e}")
|
||||
return False
|
||||
|
||||
def produce_batch_raw(self, raw_data_list: List[dict]) -> int:
|
||||
"""批量发送原始数据"""
|
||||
success_count = 0
|
||||
for raw_data in raw_data_list:
|
||||
if self.produce_raw(raw_data):
|
||||
success_count += 1
|
||||
self.producer.flush()
|
||||
return success_count
|
||||
|
||||
def consume(self, batch_size: int = 10, timeout_ms: int = 5000) -> List[dict]:
|
||||
"""消费消息"""
|
||||
messages = []
|
||||
|
||||
Reference in New Issue
Block a user