亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP rdkafka。如何消費主題匹配正則表達式?

PHP rdkafka。如何消費主題匹配正則表達式?

PHP
慕少森 2022-07-22 19:28:41
我可以使用來自 Kafka 的消息,前提是我使用嚴格的名稱指定主題,例如“some_topic”,但我想使用與特定正則表達式匹配的主題:<?php$conf = new RdKafka\Conf();//$conf->set('log_level', 1);//$conf->set('debug', 'all');$rk = new RdKafka\Consumer($conf);$rk->addBrokers("localhost:9092");$topic = $rk->newTopic("^postgres.public.table_[0-9]+_");$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);while (true) {    $msg = $topic->consume(0, 1000);    if (null === $msg || $msg->err === RD_KAFKA_RESP_ERR__PARTITION_EOF) {        continue;    } elseif ($msg->err) {        echo $msg->errstr(), "\n";        break;    } else {       echo $msg->payload;        echo "\n\n";    }}如您所見,主題名稱是^postgres.public.table_[0-9]+_. 但是,它不起作用。我在控制臺中收到這些錯誤消息:%3|1579347443.452|ERROR|rdkafka#consumer-1| [thrd:app]: rdkafka#consumer-1: ^postgres.public.object_[0-9]+_ [0]: topic does not exist (Broker: Invalid topic)那有什么問題,我該如何解決?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

newTopic()用于創建RdKafka\Topic對象的新實例。它不用于加入主題。

使用該subscribe()方法加入基于模式的主題,在本例中為正則表達式。所以你使用類似的東西:

$rk->subscribe('^postgres.public.table_[0-9]+_');


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號