浏览代码

Merge pull request #105 from Shopify/async-producer-example

Add an example of an async producer
Evan Huus 11 年之前
父节点
当前提交
ca006b2d40
共有 1 个文件被更改,包括 31 次插入0 次删除
  1. 31 0
      producer_test.go

+ 31 - 0
producer_test.go

@@ -324,6 +324,37 @@ func ExampleProducer() {
 	}
 }
 
+func ExampleAsyncProducer() {
+	client, err := NewClient("client_id", []string{"localhost:9092"}, NewClientConfig())
+	if err != nil {
+		panic(err)
+	} else {
+		fmt.Println("> connected")
+	}
+	defer client.Close()
+
+	producer, err := NewProducer(client, nil)
+	if err != nil {
+		panic(err)
+	}
+	defer producer.Close()
+
+	go func() {
+		for err := range producer.Errors() {
+			panic(err)
+		}
+	}()
+
+	for {
+		err = producer.QueueMessage("my_topic", nil, StringEncoder("testing 123"))
+		if err != nil {
+			panic(err)
+		} else {
+			fmt.Println("> message sent")
+		}
+	}
+}
+
 func sendMessage(t *testing.T, producer *Producer, topic string, key string, expectedResponses int) {
 	err := producer.QueueMessage(topic, nil, StringEncoder(key))
 	if err != nil {