func publish(ctx context.Context, argv []string) { checkArgs(argv, 3) topic := argv[1] message := argv[2] msgIDs, err := pubsub.Publish(ctx, topic, &pubsub.Message{ Data: []byte(message), }) if err != nil { log.Fatalf("Publish failed, %v", err) } fmt.Printf("Message '%s' published to a topic %s and the message id is %s\n", message, topic, msgIDs[0]) }
func publishLoop(ctx context.Context, topic string, workerid int, result chan<- int) { var r uint64 for { msgs := make([]*pubsub.Message, *size) for i := 0; i < *size; i++ { msgs[i] = &pubsub.Message{ Data: []byte(fmt.Sprintf("Worker: %d, Round: %d, Message: %d", workerid, r, i)), } } _, err := pubsub.Publish(ctx, topic, msgs...) if err != nil { log.Printf("Publish failed, %v\n", err) return } r++ if *reportMPS { result <- *size } } }