本文整理汇总了Golang中google/golang.org/cloud/pubsub.Client.Subscription方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.Subscription方法的具体用法?Golang Client.Subscription怎么用?Golang Client.Subscription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类google/golang.org/cloud/pubsub.Client
的用法示例。
在下文中一共展示了Client.Subscription方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: deleteSubscription
func deleteSubscription(client *pubsub.Client, argv []string) {
checkArgs(argv, 2)
sub := argv[1]
err := client.Subscription(sub).Delete(context.Background())
if err != nil {
log.Fatalf("Deleting Subscription failed: %v", err)
}
fmt.Printf("Subscription %s was deleted.\n", sub)
}
示例2: checkSubscriptionExists
func checkSubscriptionExists(client *pubsub.Client, argv []string) {
checkArgs(argv, 1)
sub := argv[1]
exists, err := client.Subscription(sub).Exists(context.Background())
if err != nil {
log.Fatalf("Checking subscription exists failed: %v", err)
}
fmt.Println(exists)
}
示例3: showSubscription
func showSubscription(client *pubsub.Client, argv []string) {
checkArgs(argv, 2)
sub := argv[1]
conf, err := client.Subscription(sub).Config(context.Background())
if err != nil {
log.Fatalf("Getting Subscription failed: %v", err)
}
fmt.Printf("%+v\n", conf)
exists, err := conf.Topic.Exists(context.Background())
if err != nil {
log.Fatalf("Checking whether topic exists: %v", err)
}
if !exists {
fmt.Println("The topic for this subscription has been deleted.")
}
}
示例4: pullMessages
// pullMessages reads messages from a subscription, and farms them out to a
// number of goroutines for processing.
func pullMessages(client *pubsub.Client, argv []string) {
checkArgs(argv, 3)
sub := client.Subscription(argv[1])
workers, err := strconv.Atoi(argv[2])
if err != nil {
log.Fatalf("Atoi failed, %v", err)
}
rep := newReporter("Received")
defer rep.Stop()
msgs := make(chan *pubsub.Message)
for i := 0; i < int(workers); i++ {
go processMessages(msgs, rep, !*reportMPS)
}
it, err := sub.Pull(context.Background(), pubsub.MaxExtension(time.Minute))
if err != nil {
log.Fatalf("failed to construct iterator: %v", err)
}
defer it.Stop()
for !shouldQuit() {
m, err := it.Next()
if err != nil {
log.Fatalf("error reading from iterator: %v", err)
}
msgs <- m
}
// Shut down all processMessages goroutines.
close(msgs)
// The deferred call to it.Stop will block until each m.Done has been
// called on each message.
}
示例5:
// Configure connection to pubsub
ctx := context.Background()
var psClient *pubsub.Client
if KeyPath != "" {
psClient = JWTClientInit(&ctx)
} else {
psClient = GCEClientInit(&ctx, Gceproject)
}
if psClient == nil {
log.Errorf("PubSub client is nil")
os.Exit(1)
}
log.Debugf("client: %#v", psClient)
// Create message iterator from client
sub := psClient.Subscription(subscription)
it, err := sub.Pull(ctx, pubsub.MaxExtension(time.Minute*1))
if err != nil {
log.Errorf("error creating pubsub iterator: %v", err)
}
defer it.Stop()
msgs := make(chan *pubsub.Message)
go func() {
for !shouldQuit(quit) {
m, err := it.Next()
if err != nil {
switch err {
case pubsub.Done:
log.Infof("pubsub interator finished")
default: