set('metadata.broker.list', $brokers); $conf->setDrmSgCb(function ($kafka, $message) { // $this->debug(var_export($message, true)); }); $conf->setErrorCb(function ($kafka, $err, $reason) { $this->error(sprintf("Kafka error: %s (reason: %s)", rd_kafka_err2str($err), $reason)); }); $cf = new TopicConf(); $cf->set('request.required.acks', 1); $rk = new \RdKafka\Producer($conf); $topic = $rk->newTopic($topic, $cf); $topic->produce(RD_KAFKA_PARTITION_UA, 0, $message, $key); $rk->poll($timeout); $rk->flush($timeout); } }