【发布时间】:2012-01-12 05:03:34
【问题描述】:
我有一个 Django 项目,需要发送大约 600 封电子邮件。我已经设置了 Celery,它在大多数情况下都有效。我将 Django 项目设置为使用我的 Google Apps(商业版——即:付费)电子邮件帐户作为发送帐户。出于测试目的,我将每封电子邮件都发送给我,而不是发送给客户。
我遇到的问题是 Celery 似乎会随机跳过列表中的人。当我开始发送所有 600 封电子邮件的过程时,Celery 开始工作,发送电子邮件(我可以看到它们出现在我的收件箱中),但我总共只收到了大约 420 封电子邮件。当 Celery 完成时,仍有 180 人左右需要电子邮件。如果我再次点击“发送电子邮件”,仅剩下的 180 人,它将完成工作,并且在两次尝试结束时,将向所有 600 人发送电子邮件。
为什么 Celery 会跳过人?
【问题讨论】:
-
请分享您正在使用的代码,以便我们帮助诊断问题。
-
@free-dom:我想我可能已经解决了这个问题,但我仍在努力找出问题所在。我认为问题在于我试图通过 Gmail(Google Apps)发送太多电子邮件,太快了。结果,Gmail 有时会抱怨并停止接受新的发送请求(或类似的东西)。我将尝试配置 Celery 以限制它每分钟发送的电子邮件数量,这样 Gmail 就不会惊慌失措。如何实现这个限制是我正在做的事情。