【发布时间】:2012-02-20 15:08:37
【问题描述】:
我想出了一个用于我正在制作的简单批量电子邮件的架构。电子邮件发送者将通过运行 cron 作业的 php 脚本每 5 分钟发送 X 封电子邮件。问题是我认为这不是最好的方法,而是在寻找一种替代的、更好的方法;或验证;)。
(简化的)架构如下所示:
EmailList | JobQue | Jobs
------------|----------|----------
email | jobid | id
| email | esubject
| ebody
这个想法是,当一个新的工作被创建时,它将它添加到Jobs表中,并且每封需要发送的电子邮件都将添加到JobQue表中。
然后,实际发送电子邮件的 cron'd php 脚本将遍历 JobQue 表中的下 X 个项目,发送并删除它们。
这是一个好方法吗?它会在中等负载下弯曲吗? (1000-5000 封电子邮件,每天 1-5 个工作)?当然,如果有更多的电子邮件被添加然后发送,但会不会有其他问题(比如尝试一次将 1000 条记录添加到表中,即使我用一个 mysql 查询将它们全部插入)?
谢谢,
最大
【问题讨论】:
-
我认为这在很大程度上取决于您系统的基础架构,尤其是它的硬件。您应该自己进行一些基准测试和压力测试,因为没有人可以模拟您的环境。关于您对封装在单个查询中的 1000 个插入的担忧:我认为这在大多数情况下都应该有效。
标签: php mysql database-design schema