|
- package kafkaclient
-
- import (
- "context"
- "encoding/json"
- "fmt"
-
- "github.com/segmentio/kafka-go"
- )
-
- func Consume[T any](r *kafka.Reader, ch chan<- T) {
- for {
- msg, err := r.ReadMessage(context.Background())
- if err != nil {
- fmt.Println("error reading message:", err)
- continue
- }
-
- var data T
- if err := json.Unmarshal(msg.Value, &data); err != nil {
- fmt.Println("error decoding:", err)
- continue
- }
-
- ch <- data
- }
- }
|