Swiftmailer和Symfony2的多个线轴

Swiftmailer和Symfony2的多个线轴

问题描述:

使用Swiftmailer发送最高邮件速率的最佳方法是什么?Swiftmailer和Symfony2的多个线轴

我们所拥有的电子邮件自动化工具,有时也有40.000电子邮件单sendouts。我们使用spool:send命令的平均速率约为50封邮件/分钟。我曾尝试在cron上复制相同的命令5次,并且它工作正常(即它发送~250封电子邮件/分钟),但它看起来像SMTP服务器很头晕,因为有些联系人正在收到带有其他联系人信息的电子邮件想法是什么可能造成的?)。

所以,现在我在想建立的是线轴上的不同文件夹中的邮件5个不同的邮件程序并运行5个命令与一个cron,每一个为那些邮件程序之一。它应该工作吗?其他推荐的解决方案?

如果您要发送250级每分钟的电子邮件,那么你需要的东西比的cron和Swiftmailer滑更有弹性。这将是很难扩展,调试的噩梦,而不是非常灵活。如果你每分钟只发送几封电子邮件,Swiftmailer假脱机程序是非常棒的,但是任何更大的电子邮件,它都很难扩展和调试。

取而代之,请使用PHP ResqueRabbit MQ(均为开源代码)的作业队列。您可以通过发送需要发送的电子邮件队列来复制“假脱机”,并且可以添加多个工作人员和队列。您也可以有第二个队列实际将作业添加到第一个队列。

好处是,兔子MQ带有一个管理界面,所以你可以看到诸如发送多少封电子邮件,有多少故障等等。另外,通过添加和删除工作人员可以更容易地扩展和缩减例如,当你处于沉重的负载下时。

卡茨珀从Sensio公司实验室实际上去年给兔MQ谈话与Symfony的 - http://www.slideshare.net/cakper/2014-0821-symfony-uk-meetup-scaling-symfony2-apps-with-rabbit-mq