laravel - 这是在 Laravel 中一次发送多封邮件的好方法吗?
问题描述
我仍在学习 Laravel,需要一些建议... 长话短说,我有一个小脚本,应该在客户需要续订合同前 15 天向客户发送邮件。现在,代码确实有效。而且我们的客户名单相对较少。不过,我很好奇。这是一个好方法吗?它有效率吗?使用数据库查询会更好吗?无论如何,这是代码......
$hosting=hosting::where('id','>',0);
$dateToday=date('Y-m-d');
$inFifteenDays=date('Y-m-d', strtotime($dateToday. ' + 15 days'));
$hosting=$hosting->whereDate('datum_obnove','<=',($inFifteenDays));
$hosting=$hosting->whereDate('datum_obnove','>=',($inFifteenDays))->get();
foreach ($hosting as $hosting)
{
$dataForSending=array();
$dataForSending= array(
'klijent' =>$hosting['kontakt'] ,
'domena' =>$hosting['naziv_domene'],
'mail' =>$hosting['mail']
);
Mail::to($dataForSending['mail'])->queue(new HostingMail($hosting));
}
提前感谢<3
解决方案
欢迎来到 StackOverflow!
确实有很多因素决定在遇到问题之前何时值得优化代码,但看起来你已经在使用 Laravel 队列,这是一个很好的第一步。您至少可以监控您的队列(https: //horizon.laravel.com/,如果您选择使用它)以查看它们是否陷入困境或是否存在问题。前一个建议需要您安装Redis。
如果有问题,您可以修改速率限制以确保您的应用程序仍然可以正常处理性能。
这些建议现在仍然超出预期。我建议从您拥有的东西开始,监控性能,并在必要时使用上述建议。祝你好运!
推荐阅读
- gitlab - 如何回滚到以前版本的 Gitlab
- c# - 如何在列表框中获取特定字符
- php - Laravel:有没有办法删除数据库查询子句?
- llvm - macOS homebrew llvm clang tidy 缺少一些检查
- javascript - 谢谢 URL 没有在 iframe 表单之外加载
- android - 在 Flutter 项目的 android studio 上初始化 Gradle 将永远存在
- android - Flutter 在 android Barcode Scanner 上隐藏屏幕键盘
- r - 从 DT 中的选定行计算累积值
- java - 侦探没有传播跟踪 ID
- firebase - Firebase 动态链接链接统计