【发布时间】:2017-10-01 13:52:59
【问题描述】:
我尝试使用 PubSub 和 AppEngine 部署 API,但出现“不是 App Engine 上下文”错误,它与以下代码有关:
import (
"golang.org/x/net/context"
"log"
"cloud.google.com/go/pubsub"
)
var (
ctx context.Context
pubsubClient *pubsub.Client
)
func InitPubSub () {
ctx = context.Background()
psClient, err := pubsub.NewClient(ctx, "myproject-1234")
if err != nil {
log.Println("(init pub sub) error while creating new pubsub client:", err)
} else {
pubsubClient = psClient
}
}
所以我查看了 appengine 包中的 BackgroundContext 函数,但它说它只适用于 AppEngine 灵活环境(标准环境似乎更适合我的应用程序): https://godoc.org/google.golang.org/appengine#BackgroundContext
您知道我是否可以使用其他功能吗?还是应该为每个请求创建并关闭一个客户端?
谢谢!
【问题讨论】:
标签: google-app-engine go google-cloud-platform