snapshot of https://github.com/ThreeDotsLabs/watermill.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
master / ci (push) Failing after 0s
Some checks failed
master / ci (push) Failing after 0s
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
"github.com/ThreeDotsLabs/watermill"
|
||||
"github.com/ThreeDotsLabs/watermill-kafka/v3/pkg/kafka"
|
||||
"github.com/ThreeDotsLabs/watermill/message"
|
||||
)
|
||||
|
||||
var (
|
||||
brokers = []string{"kafka:9092"}
|
||||
logger = watermill.NewStdLogger(false, false)
|
||||
)
|
||||
|
||||
type eventType string
|
||||
|
||||
const (
|
||||
Foo eventType = "Foo"
|
||||
Bar eventType = "Bar"
|
||||
Baz eventType = "Baz"
|
||||
)
|
||||
|
||||
func main() {
|
||||
pub, err := kafka.NewPublisher(
|
||||
kafka.PublisherConfig{
|
||||
Brokers: brokers,
|
||||
Marshaler: kafka.DefaultMarshaler{},
|
||||
},
|
||||
logger,
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
eventTypes := []eventType{Foo, Bar, Baz}
|
||||
|
||||
for {
|
||||
eventType := eventTypes[rand.Intn(3)]
|
||||
msg := message.NewMessage(watermill.NewUUID(), []byte("message"))
|
||||
msg.Metadata.Set("event_type", string(eventType))
|
||||
|
||||
fmt.Printf("%s Publishing %s\n\n", time.Now().String(), eventType)
|
||||
if err := pub.Publish("kafka_to_http_example", msg); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
time.Sleep(time.Second)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user