Django - 用芹菜发送600封电子邮件 - 有些被跳过?

时间:2012-01-12 05:03:34

标签: django celery

我有一个Django项目需要发送大约600封电子邮件。我有Celery设置,它在大多数情况下都有效。我将Django项目设置为使用我的Google Apps(商业版 - 即:付费)电子邮件帐户作为发送帐户。出于测试目的,我将每封电子邮件发送给我 - 而不是发送给客户。

我遇到的问题是Celery似乎随机跳过列表中的人。当我开始发送所有600封电子邮件的过程时,Celery会离开,发送电子邮件(我可以看到它们显示在我的收件箱中),但我只收到大约420封电子邮件。当Celery完成时,仍然有180个左右需要电子邮件的人。如果我再次点击“发送电子邮件”剩下的180个人,它将完成工作,并且在两次尝试结束时,将向所有600人发送电子邮件。

为什么芹菜会跳过人?

1 个答案:

答案 0 :(得分:3)

是的,你会得到那些gmail错误,但这并不是特别可预测的。

您可以使用django-mailer - 我这样做,并通过让django-mailer自动重试失败的发送尝试直到成功为止来处理这些gmail连接错误。

查看这个问题,了解更多人建议你只使用django-mailer和celery邮件。 Advice on Python/Django and message queues