Google App Engine后端Python

问题描述 投票:3回答:1

我遇到了在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中定义的处理程序。

编辑 10/17/12

经过一番挖掘后,我发现我的外卡处理程序在apps.yaml中的后端处理程序之前列出。 所以现在后端处理程序很有用。 我将此过程定义为管理员处理程序,但它仍然超时。

这有什么原因不起作用? 它总是返回405错误并连续重试。

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

python google-app-engine backend
1个回答
4
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.