如何在本地Google App Engine环境中创建拉/推队列

时间:2018-06-29 01:13:20

标签: google-app-engine go google-cloud-datastore task-queue

我需要在本地启动我的Google App Engine项目。它可以在google服务器上正常工作,但是调试变得很麻烦,因为在每个修补程序上进行部署都需要花费大量时间。我几乎设法在本地启动它,但是我不知道如何创建队列(这是必需的)。我的步骤:

  1. run dev_appserver.py app.yaml,遵循using local development server指南。除队列外,其他一切正常:

    _, 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. 我可以轻松地在远程服务器上创建队列(使用creating pushcreating pull指南):

    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并看到唯一的一个默认推送队列。没有工具可以在此处添加新队列。

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

1 个答案:

答案 0 :(得分:1)

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