【发布时间】:2012-01-24 07:52:09
【问题描述】:
我创建了一个作业队列模块,用于处理作业并构建“社交网络”类型的电子邮件。 2个过程包括:
构建自定义电子邮件(视图),例如
User A and User B have commented on your post或User B and User C also likes User C's post。每个收件人都会收到不同的电子邮件。我最初创建了一个新的Swiftmailer实例并添加了消息内容、主题和收件人。然后我将这些实例添加到数据库中。运行一个 cron 作业以获取并稍后发送这些电子邮件。
在进行基准测试时,我意识到它平均每秒发送 2 封电子邮件。所以我尝试将Swift_Message Instances 存储在数据库中。不过运气不好,仍然需要很长时间。
目前,代码
- 创建一个新的
Swift_SmtpTransport。 - 创建一个新的
Swift_Mailer实例。- 循环遍历从数据库中检索到的
Swift_Message消息 - 发送每封电子邮件。
- 循环遍历从数据库中检索到的
但它仍然平均每秒大约 2 封电子邮件。有什么方法可以改进流程以加快交付速度?我使用 Amazon SES 作为我的 SMTP 传输,我知道它每秒至少可以处理 5 封电子邮件。
所以这可能是我做错了什么。任何想法表示赞赏。
编辑
请记住,每个收件人的邮件都不同。我可以试试Swift_Decorator 插件,但这意味着我必须改变视图的生成方式。我只是在寻找其他替代方案来加快这一进程。
【问题讨论】:
标签: php kohana-3 swiftmailer amazon-ses