首页 > 解决方案 > 如何从 GCP 查看/下载当前 queue.yaml?

问题描述

我正在尝试设置现有 AppEngine 应用程序的本地开发版本,我通过 dev_appserver 运行所有内容,并且可以访问该应用程序,但是本地管理界面中没有列出任何任务队列,仅显示“默认”。我曾希望下载 queue.yaml 并像使用服务一样使用 dev_appserver 启动它,但我在 GCP 中的任何地方都找不到要下载的文件。

我在文件系统中搜索了队列:无济于事,我搜索了 gcloud cli 文档和命令,似乎没有任何选项可以下载或查看仅部署 queue.yaml。GCP UI 中没有我可以看到的选项。

队列被调用:

(new PushTask('/someUrl', [{params omitted}], ['name' => $taskName]))->add($abc);

应用程序抛出以下错误,因为它找不到队列:

警告:异常 'google\appengine\api\taskqueue\TaskQueueException' 带有消息'未知队列'

如何从 AppEngine 查看或下载 Queue.yaml?

标签: google-app-enginegoogle-cloud-platform

解决方案


AFAIK 在 GAE 中没有可以专门下载已部署的地方queue.yaml,这是一个应用程序级别的配置文件,由所有服务共享。

您可以在控制台开发人员的Cloud Tasks中看到一些但不是所有等效队列配置参数 (旧的任务队列现在重定向)。明显缺少的是:重试参数和目标服务(如果有)。不过,您可以在重新构建文件时开始使用一些信息。queue.yaml

如果您很幸运并将文件符号链接到您的标准环境服务之一以保持开发服务器满意(请参阅Google App Engine queue.yaml not working in development server),您可能会发现整个文件内容已复制到相应的服务部署中方法见:Google Cloud DataStore 自动索引

队列消失的典型原因是缺少队列配置由所有服务共享的点,并且只考虑一项服务来部署它的新版本。文件内容实际上应该是所有服务所需的所有队列配置的组合。


推荐阅读