91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

PHP rdkafka怎樣確認消息

PHP
小樊
81
2024-11-24 06:49:44
欄目: 編程語言

要確認消息已被正確處理,您可以使用 PHP RdKafka 擴展的 ack 方法

<?php
// 創建消費者
$conf = new \RdKafka\Conf();
$conf->set('group.id', 'myGroup');
$conf->set('bootstrap.servers', 'localhost:9092');
$consumer = new \RdKafka\KafkaConsumer($conf);

// 訂閱主題
$consumer->subscribe(['myTopic']);

while (true) {
    // 拉取消息
    $message = $consumer->consume(120*1000);

    switch ($message->err) {
        case RD_KAFKA_RESP_ERR__PARTITION_EOF:
            echo "Reached end of partition event\n";
            break;
        case RD_KAFKA_RESP_ERR__TIMED_OUT:
            echo "Timed out\n";
            break;
        case RD_KAFKA_RESP_ERR__PARTITION_NOT_FOUND:
            echo "Partition not found\n";
            break;
        case RD_KAFKA_RESP_ERR__UNKNOWN:
            throw new \Exception($message->errstr(), $message->err);
        default:
            if ($message->err == RD_KAFKA_RESP_ERR_NO_ERROR) {
                // 消息已處理,確認
                $consumer->ack($message);
                echo "Message consumed and acknowledged\n";
            } else {
                throw new \Exception($message->errstr(), $message->err);
            }
            break;
    }
}

在這個示例中,我們創建了一個 Kafka 消費者,訂閱了名為 “myTopic” 的主題。然后,我們進入一個無限循環,不斷從 Kafka 拉取消息。當成功拉取到消息時($message->err == RD_KAFKA_RESP_ERR_NO_ERROR),我們調用 ack 方法來確認消息已被正確處理。如果發生錯誤,我們將拋出異常。

0
宁都县| 阜阳市| 古丈县| 宕昌县| 安新县| 乌拉特后旗| 麻江县| 高碑店市| 渑池县| 绍兴县| 尤溪县| 沅陵县| 根河市| 海林市| 治县。| 临桂县| 沿河| 栾城县| 涞源县| 寿阳县| 喀喇沁旗| 张家港市| 南安市| 金山区| 闻喜县| 漳浦县| 固安县| 清涧县| 津市市| 宿迁市| 牟定县| 兴山县| 古交市| 惠州市| 彩票| 武隆县| 故城县| 中方县| 定边县| 江源县| 平和县|