laravel - Laravel 批量邮件队列(按数量和时间划分)
问题描述
我有一个调度系统,可以发送带有每个系统成员各自日历的电子邮件。
我的邮件列表显着增加(超过 800 个收件人),并且我的电子邮件提供商正在生成某种限制,例如 SMTP 缓送。
我想我可以将所有这些收件人拆分并以小包的形式发送,也就是说,我可以使用Mail::queue()
.
关键是: 有什么方法可以每隔一段时间添加队列,例如 10 分钟,并且总是在队列末尾添加,即使有一个新的邮件包。
这个想法是(我不知道这是否是最好的解决方案),取这个总数,例如 800,除以 150,得到 5 次交互,在这 5 次交互中,每 10 分钟发送 25 封电子邮件。(25 X (60/10) X 5 == 750)。
解决方案
您可以将所有邮件扔到您的队列中,然后将队列配置为在给定时间执行特定数量(为此需要 redis):https ://laravel.com/docs/master/queues#rate-limiting
所以,你可以专注于你正在做的事情,而不是你如何做
推荐阅读
- mysql - mysql ST_Intersect 很慢
- pandas - 使用 groupby-specific 过滤条件进行 groupby 后的 pandas 过滤?
- flutter - 我可以在 Flutter 中使用 CustomPaint 中的 Canvas 绘制自定义框阴影吗?
- html - 如何使用纯 CSS 定位 ul 中的第二个 span 标签?
- html - 穿过它后面的盒子的透明盒子
- android - 如何通过 RxJava 实现无限循环?
- excel - Excel VBA:在命名表中的特定列上进行vLookup,如果它与多个条件和通配符匹配则替换值
- java - 执行JAR时如何从外部提供mysql主机到spring boot
- python - CLIPSpy:导入剪辑时出现“没有模块名称'clips._clips'”
- java - Java 8 流 - 合并地图集合