0

我已经设置了我的 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", ...)

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

4

1 回答 1

2

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

于 2012-06-02T17:52:52.260 回答