我正在尝试设置现有AppEngine应用程序的本地开发版本,我已通过dev_appserver运行了所有程序,并且可以访问该应用程序,但是在本地管理界面中未列出任何“任务队列”,仅显示“默认”。我曾希望像下载服务一样下载queue.yaml并以dev_appserver开头,但是我找不到在GCP中要下载的文件。
我在文件系统中搜索了队列:无济于事,我搜索了gcloud cli文档和命令,似乎没有下载或仅查看部署queue.yaml的选项。我可以看到GCP用户界面中没有任何选项。
使用以下命令调用队列:
(new PushTask('/someUrl', [{params omitted}], ['name' => $taskName]))->add($abc);
应用程序由于找不到队列而引发以下错误:
警告:异常'google \ appengine \ api \ taskqueue \ TaskQueueException' 消息“未知队列”
如何从AppEngine中查看或下载Queue.yaml?
答案 0 :(得分:1)
AFAIK在GAE中没有地方可以专门下载已部署的queue.yaml
,这是应用程序级的配置文件,由所有服务共享。
您可以看到 some ,但不是所有 equivalent 队列配置参数,
控制台开发人员中的Cloud Tasks(现在,较旧的Task queues进行重定向)。值得注意的是缺少:重试参数和目标服务(如果有)。不过,重新构建queue.yaml
文件时,您可能会从一些信息开始。
如果幸运的话,将该文件符号链接到一种标准环境服务中以使开发服务器满意(请参阅Google App Engine queue.yaml not working in development server),则可以使用以下方法找到将整个文件内容复制到相应的服务部署中在:Google Cloud DataStore automatic indexing
消失的队列的典型原因是所有服务都共享队列配置,并且仅考虑一个服务就部署了该队列的新版本。文件内容实际上应该是所有服务所需的 all 队列配置的组合。