在我的Django代码中,我有以下内容:
#ajax call
...
try:
do sth
...
except Exception as e:
_email_admin()
return HttpResponseServerError(e)
然而,上述情况会减慢用户的回报,这绝对不是什么好事。
所以我问你是否可以告诉我是否有可能让新线程发送电子邮件,这样它就不会延迟返回给用户?
谢谢。
PS:我知道如果我没有捕获异常,则会创建500错误,Django会通过电子邮件发送给管理员。但我需要捕获异常,以便我仍然可以返回Ajax调用。
答案 0 :(得分:1)
您的代码正在做Django会做的事情,只需将其删除即可。我不记得是否在工作线程上发送邮件,但无关紧要 - 如果您必须发送错误邮件,那么您的代码已损坏。节省几毫秒将绝对没有你买。特别是这是异步调用。
此外,对于像这样的东西,你最好使用Celery或类似的东西,而不是创建线程。