seaweedfs/weed/mq/client/pub_client/publisher.go

60 lines
1.3 KiB
Go
Raw Normal View History

2023-08-28 04:13:14 +08:00
package main
2023-08-28 08:50:59 +08:00
import (
"context"
"fmt"
"github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/pb/mq_pb"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)
2023-08-28 04:13:14 +08:00
func main() {
2023-08-28 08:50:59 +08:00
err := pb.WithBrokerGrpcClient(true,
"localhost:17777",
grpc.WithTransportCredentials(insecure.NewCredentials()),
func(client mq_pb.SeaweedMessagingClient) error {
pubClient, err := client.Publish(context.Background())
if err != nil {
return err
}
if initErr := pubClient.Send(&mq_pb.PublishRequest{
Message: &mq_pb.PublishRequest_Init{
Init: &mq_pb.PublishRequest_InitMessage{
Topic: &mq_pb.Topic{
Namespace: "test",
Name: "test",
},
Partition: &mq_pb.Partition{
RangeStart: 0,
RangeStop: 1,
RingSize: 1,
},
},
},
}); initErr != nil {
return initErr
}
for i := 0; i < 10; i++ {
if dataErr := pubClient.Send(&mq_pb.PublishRequest{
Message: &mq_pb.PublishRequest_Data{
Data: &mq_pb.DataMessage{
Key: []byte(fmt.Sprintf("key-%d", i)),
Value: []byte(fmt.Sprintf("value-%d", i)),
},
},
}); dataErr != nil {
return dataErr
}
}
return nil
})
if err != nil {
fmt.Println(err)
}
2023-08-28 04:13:14 +08:00
}