如何在本地谷歌应用引擎环境中创建拉/推送队列



我需要在本地启动我的谷歌应用引擎项目。它在谷歌服务器上正常工作,但调试变得很痛苦,因为每个修复程序的部署都需要花费大量时间。我几乎设法在本地启动它,但我不明白如何创建队列,这是必要的。我的步骤:

  1. run dev_appserver.py app.yaml,遵循使用本地开发服务器指南。除队列外,一切正常:

    _, err := taskqueue.Add(u.Ctx(), task, queueName)
    exceptions.ThrowIfErr(true, "err_msg", err)
    

    抛出

    Panic! UserMessage: <err_msg>, Error: API error 1 (taskqueue: UNKNOWN_QUEUE),...
    
  2. 我可以轻松地在远程服务器上创建队列(使用创建推送和创建拉动指南(:

    gcloud app deploy queue.yaml
    

    对于queue.yaml

    queue:
    - name: Pull-Data-Queue
    mode: pull
    - name: Push-Data-Queue
    mode: push
    rate: 1/s
    
  3. 我可以打开 http://localhost:8000/datastore 并查看一些创建的数据。
  4. 我可以打开 http://localhost:8000/taskqueue 并看到唯一的默认推送队列。此处没有添加新队列的工具。

谷歌指南说,队列不能从代码动态创建,只能通过yaml或xml创建。但是如何在当地环境中创建它们。甚至可能吗? 据我了解,gcloud app deploy queue.yaml仅适用于远程部署。

如果queue.yaml文件与app.yaml文件并排,则开发服务器会自动检测到它。可以使用符号链接而不是复制。它解决了问题。