当前位置: 首页>>代码示例>>Golang>>正文


Golang Client.Subscription方法代码示例

本文整理汇总了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)
}
开发者ID:trythings,项目名称:trythings,代码行数:9,代码来源:main.go

示例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)
}
开发者ID:trythings,项目名称:trythings,代码行数:9,代码来源:main.go

示例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.")
	}
}
开发者ID:trythings,项目名称:trythings,代码行数:16,代码来源:main.go

示例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.
}
开发者ID:trythings,项目名称:trythings,代码行数:39,代码来源:main.go

示例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:
开发者ID:Ropes,项目名称:pubbing,代码行数:31,代码来源:sub.go


注:本文中的google/golang.org/cloud/pubsub.Client.Subscription方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。