我正在使用 GAE 开发一个投票应用程序,其中包括向每个选民发送电子邮件。在我最初的测试中,我超过了每分钟的电子邮件配额,并引发了这个异常:
OverQuotaError: The API call mail.Send() required more quota than is available.
我能够通过启用计费来解决这个短期问题,这大大增加了每分钟的电子邮件配额,但是防止将来引发此类异常的正确方法是什么?如果我的应用程序非常成功并且我超过了更大的配额,那么引发此异常将是一个大问题。
我不想尝试发送电子邮件,除了阻止,因为这是在处理表单后完成的,我不希望用户等待对 POST 的响应。
这是任务队列的好用例吗?如果是这样,我会在任务队列中请求发送一批电子邮件,还是每个发送电子邮件的请求都会进入任务队列?前者似乎更好,因为处理 POST 会更快。无论我采用哪种方式,我是否会在发送每封电子邮件之间添加延迟以确保它们不会被快速发送并且我会超出配额?