Swiftmailer 和 Symfony2 的多个线轴
Multiple spools with Swiftmailer and Symfony2
使用 Swiftmailer 发送最高电子邮件速率的最佳方法是什么?
我们拥有一个电子邮件自动化工具,有时会发送 40,000 封电子邮件。我们使用 spool:send 命令的平均速率是 ~50 emails/min。我已经尝试在 cron 上复制相同的命令 5 次并且它有效(即它正在发送 ~250 emails/min),但看起来 SMTP 服务器变得头晕,因为一些联系人正在接收包含另一个联系人信息的电子邮件(知道是什么原因造成的吗?)。
所以现在我正在考虑设置 5 个不同的邮件程序,这些邮件程序将电子邮件放在不同的文件夹中,运行 5 个带有 cron 的命令,每个命令用于其中一个邮件程序。它应该工作吗?还有其他推荐的解决方案吗?
如果您每分钟发送 250 封电子邮件,那么您需要比 cron 和 Swiftmailer 假脱机更有弹性的东西。它将很难扩展,调试起来就像一场噩梦,而且不是很僵化。如果您每分钟发送的电子邮件不超过几封,那么 Swiftmailer 假脱机就很棒,但如果超过这一点,它就很难扩展,而且调试起来简直就是一场噩梦。
相反,使用像 PHP Resque or Rabbit MQ 这样的作业队列(两者都是开源的)。您可以通过需要发送的电子邮件队列来复制 'spool',并且您可以添加多个工作人员和队列。您还可以有第二个队列,它实际上将作业添加到第一个队列。
优点是 Rabbit MQ 带有管理器界面,因此您可以看到诸如发送了多少封电子邮件、发送失败了多少封邮件等信息。此外,通过添加和删除更容易向上和向下扩展例如,在您承受重负荷时工作。
来自 Sensio Labs 的 Kacper 实际上在去年用 Symfony 做了一个关于 Rabbit MQ 的演讲 - http://www.slideshare.net/cakper/2014-0821-symfony-uk-meetup-scaling-symfony2-apps-with-rabbit-mq.
使用 Swiftmailer 发送最高电子邮件速率的最佳方法是什么?
我们拥有一个电子邮件自动化工具,有时会发送 40,000 封电子邮件。我们使用 spool:send 命令的平均速率是 ~50 emails/min。我已经尝试在 cron 上复制相同的命令 5 次并且它有效(即它正在发送 ~250 emails/min),但看起来 SMTP 服务器变得头晕,因为一些联系人正在接收包含另一个联系人信息的电子邮件(知道是什么原因造成的吗?)。
所以现在我正在考虑设置 5 个不同的邮件程序,这些邮件程序将电子邮件放在不同的文件夹中,运行 5 个带有 cron 的命令,每个命令用于其中一个邮件程序。它应该工作吗?还有其他推荐的解决方案吗?
如果您每分钟发送 250 封电子邮件,那么您需要比 cron 和 Swiftmailer 假脱机更有弹性的东西。它将很难扩展,调试起来就像一场噩梦,而且不是很僵化。如果您每分钟发送的电子邮件不超过几封,那么 Swiftmailer 假脱机就很棒,但如果超过这一点,它就很难扩展,而且调试起来简直就是一场噩梦。
相反,使用像 PHP Resque or Rabbit MQ 这样的作业队列(两者都是开源的)。您可以通过需要发送的电子邮件队列来复制 'spool',并且您可以添加多个工作人员和队列。您还可以有第二个队列,它实际上将作业添加到第一个队列。
优点是 Rabbit MQ 带有管理器界面,因此您可以看到诸如发送了多少封电子邮件、发送失败了多少封邮件等信息。此外,通过添加和删除更容易向上和向下扩展例如,在您承受重负荷时工作。
来自 Sensio Labs 的 Kacper 实际上在去年用 Symfony 做了一个关于 Rabbit MQ 的演讲 - http://www.slideshare.net/cakper/2014-0821-symfony-uk-meetup-scaling-symfony2-apps-with-rabbit-mq.