标签: google-app-engine-go

App引擎推送任务总是在测试中返回404

我在Go App Engine应用程序中有一个推送任务队列.当我们尝试将任务排入测试时,无论出于何种原因,任务总是返回404.

我们的app.yaml:

runtime: go
api_version: go1.9

handlers:
 - url: /worker/.*
   script: _go_app
   login: admin
 - url: /.*
   script: _go_app
Run Code Online (Sandbox Code Playgroud)

实际的任务调用:

func Handler(w http.ResponseWriter, r *http.Request) {
    ctx := appengine.NewContext(r)
    t := taskqueue.NewPOSTTask("/worker", map[string][]string{"key": {"val"}})
    _, err := taskqueue.Add(ctx, t, "")
    if err != nil {
        log.Errorf(ctx, "Failed to add task");
    }
    fmt.Fprintf(w, "Success");
}
Run Code Online (Sandbox Code Playgroud)

一个仍然不完整的处理程序,但它存在!

func Worker(w http.ResponseWriter, r *http.Request) {
    ctx := appengine.NewContext(r)
    log.Infof(ctx, "Worker succeeded")
}
Run Code Online (Sandbox Code Playgroud)

最后,证明我们实际上已经添加了路由器的路径:

func init() {
    http.HandleFunc("/", Handler)
    http.HandleFunc("/worker", Worker)
}
Run Code Online (Sandbox Code Playgroud)

当我们实际运行测试时,我们总是得到以下日志记录输出: …

google-app-engine go google-app-engine-go

10
推荐指数
1
解决办法
373
查看次数

如何在 app.yaml 中为 Go 传递运行参数?

根据文档

入口点
可选。通过在您的应用程序启动时执行 entrypoint 命令来覆盖默认启动行为。为了让您的应用接收 HTTP 请求,入口点元素应包含一个命令,该命令启动一个侦听端口 8080 的 Web 服务器。

我将如何配置它?在任何地方都找不到详细信息。我可以这样做吗?

entrypoint: go run main.go fooArg --bar-flag=1
Run Code Online (Sandbox Code Playgroud)

我没有云构建文件,只有 app.yaml。那么入口点到底有什么作用呢?当应用引擎到达入口点部分时,程序是否已经编译?

谢谢

google-app-engine go google-app-engine-go

7
推荐指数
1
解决办法
153
查看次数

为什么GAE标准环境中的Golang云端点不是?

嘿,有谁知道为什么Go-lang的Google Cloud Endpoints不在Google App Engine的标准环境中?它似乎只是为Python/Java正式支持/记录.

是因为

A)Cloud Endpoints很快/有一天会来Golang.

B)云端点不是那么好,所以它不会在Golang中实现.

C)别的东西.

这是"非标准"的lib https://github.com/GoogleCloudPlatform/go-endpoints,但它在9个月内没有更新.

我正在尝试在GAE项目中选择Python和Golang,而对Cloud Endpoints缺乏支持让我停下来.

提前致谢.

google-app-engine go google-cloud-endpoints google-cloud-platform google-app-engine-go

6
推荐指数
1
解决办法
606
查看次数

在App Engine标准构建失败上部署go1.11:您的应用不在GOPATH上

我尝试将Go应用程序部署到App Engine。我有以下构建错误:

Starting Step #1 - "builder"
Step #1 - "builder": Pulling image: gcr.io/gae-runtimes/go111_app_builder:go111_1_11_2_20181111_RC00
Step #1 - "builder": go111_1_11_2_20181111_RC00: Pulling from gae-runtimes/go111_app_builder
Step #1 - "builder": Digest: sha256:51fb36bfa16e7013356867c3a3972986084df93e56258fc258579a5799f0436e
Step #1 - "builder": Status: Downloaded newer image for gcr.io/gae-runtimes/go111_app_builder:go111_1_11_2_20181111_RC00
Step #1 - "builder": 2018/11/24 18:13:29 Your app is not on your GOPATH, this build may fail.
Step #1 - "builder": 2018/11/24 18:13:29 Building from Go source in /tmp/staging477638319/srv, with main package at ./...
Step #1 - "builder": 2018/11/24 18:13:29 Building /tmp/staging477638319/srv, …
Run Code Online (Sandbox Code Playgroud)

google-app-engine go google-app-engine-go

6
推荐指数
1
解决办法
1377
查看次数

为什么 gcloud Components update 命令总是显示重新启动命令

当我想将 Go 应用部署到 App Engine 时,我发现必须安装 app-engine-go。甚至还说安装是在新窗口上,没有弹出窗口。

https://github.com/Chih ChengHsieh/ProblemsScreenShot/blob/master/image-2.png

C:\go-work\src\orderFunc>gcloud app deploy
The component [app-engine-go] is required for staging this
application.

Restarting command:
  $ gcloud components install app-engine-go

Installing component in a new window.

Please re-run this command when installation is complete.
    $ gcloud app deploy
Run Code Online (Sandbox Code Playgroud)

当我运行命令gcloud components install app-engine-goand时gcloud components update,它显示:

https://github.com/Chih ChengHsieh/ProblemsScreenShot/blob/master/image.png

C:\go-work\src\orderFunc>gcloud components install app-engine-go

Restarting command:
  $ gcloud components install app-engine-go


C:\go-work\src\orderFunc>gcloud components update

Restarting command:
  $ gcloud components update


C:\go-work\src\orderFunc>gcloud components …
Run Code Online (Sandbox Code Playgroud)

google-app-engine go google-cloud-platform gcloud google-app-engine-go

1
推荐指数
1
解决办法
1873
查看次数