GAE:使用延迟库时收到错误的电子邮件

时间:2012-06-02 03:54:44

标签: python google-app-engine exception task-queue

我已经设置了我的Python GAE应用,以便在请求处理程序引发异常时收到电子邮件。为此,我只是继承webapp2.RequestHandler并覆盖handle_exception,向我发送一封包含相关详细信息的电子邮件。

当任务队列中的任务引发异常时,是否可以收到电子邮件?

编辑:添加更多详细信息,因为我的原始问题不明确。 :)

我使用以下代码向自己发送了一封关于请求处理程序异常的电子邮件:

class MyRequestHandler(webapp2.RequestHandler):
    def handle_exception(self, exception, debug_mode):
        ...
        mail.send_mail_to_admins(sender="me@example.com", ...)
        ...

通过这种方式,我收到了一封请求处理程序引发的异常的电子邮件。

我还希望收到有关使用deferred library提交任务时引发的异常的电子邮件。在这种情况下,我认为我不能使用自定义请求处理程序。我想我可以在deferred.defer()的所有调用中放置一个包装函数:

def my_deferred(...):
    try:
        deferred.defer(...)
    except Exception, msg:
        mail.send_mail_to_admins(sender="me@example.com", ...)

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

任务队列请求的处理方式与常规请求完全相同,因此您应该能够使用相同的方法。 (当然,当任务队列无法将请求提交给您的处理程序时,这不适用。但这应该很少见。而且我无法从您的问题中看出您在日志中看到的错误类型是什么?我希望收到有关的电子邮件。更详细的问题可以得到更好的答案。: - )