2015-03-31 81 views
1

使用Swiftmailer發送最高郵件速率的最佳方法是什麼?Swiftmailer和Symfony2的多個線軸

我們所擁有的電子郵件自動化工具,有時也有40.000電子郵件單sendouts。我們使用spool:send命令的平均速率約爲50封郵件/分鐘。我曾嘗試在cron上覆制相同的命令5次,並且它工作正常(即它發送~250封電子郵件/分鐘),但它看起來像SMTP服務器很頭暈,因爲有些聯繫人正在收到帶有其他聯繫人信息的電子郵件想法是什麼可能造成的?)。

所以,現在我在想建立的是線軸上的不同文件夾中的郵件5個不同的郵件程序並運行5個命令與一個cron,每一個爲那些郵件程序之一。它應該工作嗎?其他推薦的解決方案?

回答

3

如果您要發送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