mirror of
https://github.com/go-micro/go-micro.git
synced 2025-03-17 20:28:06 +02:00
37 lines
641 B
Go
37 lines
641 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"context"
|
|
example "github.com/asim/go-micro/examples/v3/server/proto/example"
|
|
"github.com/asim/go-micro/v3"
|
|
)
|
|
|
|
// publishes a message
|
|
func pub(i int, p micro.Publisher) {
|
|
msg := &example.Message{
|
|
Say: fmt.Sprintf("This is an async message %d", i),
|
|
}
|
|
|
|
if err := p.Publish(context.TODO(), msg); err != nil {
|
|
fmt.Println("pub err: ", err)
|
|
return
|
|
}
|
|
|
|
fmt.Printf("Published %d: %v\n", i, msg)
|
|
}
|
|
|
|
func main() {
|
|
service := micro.NewService()
|
|
service.Init()
|
|
|
|
p := micro.NewPublisher("example", service.Client())
|
|
|
|
fmt.Println("\n--- Publisher example ---")
|
|
|
|
for i := 0; i < 10; i++ {
|
|
pub(i, p)
|
|
}
|
|
}
|