python - Google App Engine 后端 Python

标签 python google-app-engine backend

我在让后端在 Google App Engine Python 中运行时遇到问题。

在我的 app.yaml 中,我添加了这个处理程序:

- url: /backend/.*
  script: backend.app
  login: admin

在 backend.app 中,我为“/”定义了一个处理程序。

我的 backends.yaml 看起来像这样:

backends:
- name: dbops
  options: dynamic

在我的前端应用程序中,我添加了一个任务队列来调用后端:

taskqueue.add(url='/backend/', target='dbops') 

当我查看日志时,我看到的都是 404 错误,后端没有显示在后端部分下,但如果我查看实例下,则会启动一个新实例。任何人都得到了任何指导,因为后端文档并不是很有帮助。

编辑

在下面 Alex 的帮助下,我已经获得了在后端运行的代码。我错过了部署到后端的步骤。

appcfg.py backends ./ update dbops

现在我看到后端实例在管理界面中运行良好,但任务队列不断返回 404 错误,我确定我做错了什么愚蠢的事情。

我在 backend.py 中配置处理程序是否与在 frontend.py 中配置的处理程序相同?我可以在后端实例上访问 frontend.py 中定义的处理程序,但不能访问 backend.py 中定义的处理程序。

编辑 2012 年 10 月 17 日

经过一番挖掘后,我发现我的通配符处理程序在 apps.yaml 中的后端处理程序之前列出。所以现在后端处理程序可以正常工作了。我已将此进程定义为管理处理程序,但它仍然超时。

为什么这不起作用?它始终返回 405 错误并不断重试。

taskqueue.add(url='/backend/', target='dbops')

最佳答案

/backend 永远不会匹配 /backend/.* 模式。你应该在末尾添加一个斜杠:

taskqueue.add(url='/backend/', target='dbops')

此外,在您的后端,您可能应该做同样的事情并在 /backend/ 上定义您的处理程序。

关于python - Google App Engine 后端 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900655/

相关文章:

javascript - 在其他页面中打开特定选项卡

http - 尝试删除数据库中不再存在的条目时,后端服务最合适的 HTTP 响应是什么?

python - 从模型对象查询时出现问题

python - 多索引数据框中的 pandas 索引

python - Virtualenv 没有检测到 pip3

python - 如何从外部站点检查用户是否喜欢 facebook 上的给定页面?

python - 如何通过用 python 编写解析器来提取与 C 程序的函数定义相关的起始行号?

java - 502 错误网关和 "Please try again in 30 seconds"消息

java - 将 Google App Engine Eclipse 插件连接到 Cloud SQL

java - 如何将路由与单个主方法分开,以便我可以处理差异类(如 servlet)中的请求