我在让后端在 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')