Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python GAE:使用延迟库时获取错误电子邮件_Python_Google App Engine_Exception_Task Queue - Fatal编程技术网

Python GAE:使用延迟库时获取错误电子邮件

Python GAE:使用延迟库时获取错误电子邮件,python,google-app-engine,exception,task-queue,Python,Google App Engine,Exception,Task Queue,我已经设置了Python GAE应用程序,以便在请求处理程序引发异常时收到电子邮件。要做到这一点,我只需将webapp2.RequestHandler子类化,并重写它,向我发送一封包含相关详细信息的电子邮件 当任务队列中的任务引发异常时,是否可以获取电子邮件 编辑:添加更多详细信息,因为我的原始问题不清楚。:) 我使用以下代码向自己发送请求处理程序异常的电子邮件: class MyRequestHandler(webapp2.RequestHandler): def handle_exc

我已经设置了Python GAE应用程序,以便在请求处理程序引发异常时收到电子邮件。要做到这一点,我只需将webapp2.RequestHandler子类化,并重写它,向我发送一封包含相关详细信息的电子邮件

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

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

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

class MyRequestHandler(webapp2.RequestHandler):
    def handle_exception(self, exception, debug_mode):
        ...
        mail.send_mail_to_admins(sender="me@example.com", ...)
        ...
通过这种方式,我会收到一封请求处理程序引发的任何异常的电子邮件

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


是否有更好的方法来完成此任务?

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

嗨,Guido,谢谢你鼓励我写一个更好的问题。我已经在上面详细阐述过了。没有更好的方法可以内置到延迟库或SDK的其他部分中,我个人不会想得太多。对于任何规模的web应用程序来说,在遇到异常时接收电子邮件都是行不通的——你会被电子邮件淹没。最好只是偶尔在管理控制台中查看日志。另外请注意,仪表板上的图表有一个下拉列表,您可以在其中查看过去数小时和数天内应用程序的错误率。谢谢,我有一个流量相对较低的应用程序,其中异常可能是一个问题,因此我可能会尝试此方法。
def my_deferred(...):
    try:
        deferred.defer(...)
    except Exception, msg:
        mail.send_mail_to_admins(sender="me@example.com", ...)