Ejemplo n.º 1
0
 public function produce($topic, $payload, $configs = [])
 {
     $partition = isset($configs['partition']) ? $configs['partition'] : RD_KAFKA_PARTITION_UA;
     if (isset($configs['config'])) {
         $topic = $this->producer->newTopic($topic, $configs['config']);
     } else {
         $topic = $this->producer->newTopic($topic);
     }
     $topic->produce($partition, 0, $payload);
 }
Ejemplo n.º 2
0
 /**
  * @param ProducerConfiguration|null $producerConfiguration
  * @return ProducerTopicFacade
  */
 public function createProducerTopicFacade($topic, ProducerConfiguration $producerConfiguration = null)
 {
     if (null === $producerConfiguration) {
         $producerConfiguration = new ProducerConfiguration();
     }
     if (null === $this->rdKafkaProducer) {
         $this->rdKafkaProducer = $this->createProducer();
     }
     return new ProducerTopicFacade($this->rdKafkaProducer->newTopic($topic, $producerConfiguration->toRdKafkaTopicConfig()));
 }
 /**
  * @return ProducerTopic
  */
 private function buildProducerTopic()
 {
     $producer = new Producer();
     $producer->addBrokers(self::BROKER);
     /** @var ProducerTopic $producerTopic */
     $producerTopic = $producer->newTopic(self::TOPIC);
     $producerTopic->produce(self::PARTITION, 0, 'initial message for a topic creation');
     return $producerTopic;
 }