0

我在我的 backends.yaml 中有一个这样定义的测试后端

backends: 
- name: mailer 
  class: B1
  instances: 1 
  start: loaders/mail_backend.py

我的 mail_backend.py 脚本如下所示:

from google.appengine.api import mail
from google.appengine.api import logservice
import logging

logservice.AUTOFLUSH_ENABLED = False
logging.error("Backend started!")
logservice.flush()

mail.send_mail(sender="email@email.com", to="email@email.com", subject="Testing Backend", body="Testing if backend is running")

logging.error("Backend finished running!")
logservice.flush()

当我在 SDK(Mac OS X 上的 v 1.7.1)中本地运行它时,它工作正常(就像我所有其他后端一样)但是当我部署和更新后端时没有任何反应。后端显示它正在运行,并且显示了一个停止按钮,但日志中没有显示任何内容。

我如何调试这里发生的事情?我似乎无法判断后端是否被调用。只是为了好玩,我还重写了我的后端,使其表现得像一个请求处理程序,当我尝试以这种方式运行它并点击我指定运行它的 URL 时,我收到一个错误页面,要求将问题报告给 App Engine 团队,如果它仍然存在发生。我还没有这样做,因为我真的不想将它作为请求处理程序运行,因为我的后端只需要运行一次即可将数据加载到数据存储中。

谢谢你的帮助

4

1 回答 1

0

不幸的是,这不是一个理想的答案,但出于直觉,我决定创建一个新的 App Engine 应用程序并将我的代码推送到它。

我刚刚这样做了,现在我的后端工作正常(顺便说一句,没有代码更改)。

不幸的是,我在这个过程中丢失了我的应用程序引擎名称,这有点拖累。如果您删除了一个应用程序名称,我希望有一种方法可以将应用程序名称保留在同一帐户中。

于 2012-09-13T13:13:17.320 回答