예제 #1
0
 public static function message($message)
 {
     /*{{{*/
     $message = json_encode($message);
     $kfk = new Kafka_Producer(QBUS_SERVER);
     $kfk->asyncSend(array($message), 'qcron-task-log', $errmsg, 1);
 }
예제 #2
0
 public function testProducer()
 {
     $messages = array('test 1', 'test 2 abc');
     $topic = 'a topic';
     $partition = 3;
     $this->producer->send($messages, $topic, $partition);
     $sent = $this->producer->getData();
     $this->assertContains($topic, $sent);
     $this->assertContains($partition, $sent);
     foreach ($messages as $msg) {
         $this->assertContains($msg, $sent);
     }
 }
예제 #3
0
 /**
  * @expectedException Kafka_Exception_Socket_EOF
  */
 public function testMessageSizeFailure()
 {
     $this->consumer->close();
     $this->consumer->getResponseSize();
     $this->fail('The above call should throw an exception');
 }
예제 #4
0
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
set_include_path(implode(PATH_SEPARATOR, array(realpath(__DIR__ . '/../lib'), get_include_path())));
require 'autoloader.php';
$host = 'localhost';
$port = 9092;
$topic = 'test';
$producer = new Kafka_Producer($host, $port, Kafka_Encoder::COMPRESSION_NONE);
$in = fopen('php://stdin', 'r');
while (true) {
    echo "\nEnter comma separated messages:\n";
    $messages = explode(',', fgets($in));
    foreach (array_keys($messages) as $k) {
        //$messages[$k] = trim($messages[$k]);
    }
    $bytes = $producer->send($messages, $topic);
    printf("\nSuccessfully sent %d messages (%d bytes)\n\n", count($messages), $bytes);
}
예제 #5
0
 /**
  * @expectedException Kafka_Exception_Socket
  */
 public function testConnectFailure()
 {
     $producer = new Kafka_Producer('invalid-host-name', 1234567890, Kafka_Encoder::COMPRESSION_NONE);
     $producer->connect();
     $this->fail('The above call should throw an exception');
 }