谷歌应用引擎 - 任务队列是QuotaExceededException的解决方案吗?

Aad*_*mia 1 google-app-engine

我有一个谷歌应用程序引擎代码,试图发送一个大小为379KB的附件的邮件.邮件有两个收件人 - 一个在"收件人"列表中,另一个在"BCC"列表中.显然,GAE是治疗这种作为2个不同的邮件这使得它试图发送与附件大小758KB(379*2)的邮件,并导致QuotaExceededException因为它超过每分钟500配额奇KB /分钟.当邮件到达"到"列表中的收件人,密件抄送(我)的一个不接收邮件.

是否可以考虑任务队列服务来解决此问题?将任务队列框架重试收件人时QuotaExceededException发生谁没有得到邮件邮件的发送?

Further, I plan to extend the aforementioned code in such a way that it would send the same mail (with attachment) to several users. This would obvioulsy result in QuotaExceededException if transmission to all recipients is attempted without any time gap. Can Task queue service help me in this case in any way?

Ada*_*and 5

我认为任务队列可以很好地涵盖这个用例.实际上,Google在其任务队列文档中使用的示例是通过它们发送电子邮件的示例.

需要考虑的两件事:

  1. Google将任务队列列为可在未来版本中更改的实验性功能,因此,如果您将其用于生产代码,请准备好应用程序的行为,以便在没有警告的情况下突然更改.
  2. 您需要配置您的队列,使其不会在不违反配额的情况下更快地处理电子邮件.查看文档中的" 队列概念"部分.

最后,您是否考虑将此大型附件作为URL托管并让电子邮件包含指向它的链接?这使得发送电子邮件变得更加容易,并且它对您的整体带宽消耗更加友好,因为只有真正想要它的接收者才能获得它.