我每天使用django (1.5.2) 发送邮件。在大约 2/3 分钟的间隔内大约 100 次。
直到最近我才真正遇到任何问题(这是可能的,因为我升级到 1.5.2)。现在发送这些邮件有时需要长达 2 小时(!)。
发生的情况是,我有最多 5 个线程尝试使用 send_mail 方法 ( https://docs.djangoproject.com/en/dev/topics/email/#send-mail) 发送邮件。线程完成后,将创建一个新线程,执行一些工作然后发送邮件。发送邮件时,他们都“停止”(或死锁或其他)有时几分钟,有时几小时,直到最后他们发送邮件并且一切都恢复正常(下一个线程快速发送他们的邮件)。
我使用 postfix 和一个 gmail 帐户作为邮件服务器。当只发送一封邮件时(在 django shell 中或线程在另一个小时发送一封邮件时)没有问题(邮件会立即发送)。每个 send_mail 调用都是由大约 4 个收件人完成的,所以大约是 100 ~ 4 * 25。
最后,在查看 mail.info 日志时,每个日志都带有邮件实际发送时间的时间戳,这可能表明问题出在 django 上?
问题是我不知道如何调试它,我应该在哪里查看,以及问题是来自 django 还是 gmail。任何建议将不胜感激。
谢谢!
请您参考如下方法:
