我仍在学习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
答案 0 :(得分:0)
欢迎使用StackOverflow!
确实有a lot of factors into when it's worth optimizing code before you hit an issue,但看来您已经在使用Laravel队列了,这是迈出的第一步。您至少可以监视队列(如果选择使用队列,则https://horizon.laravel.com/)以查看队列是否陷入阻塞或是否存在问题。前一个建议将需要您安装Redis。
如果有问题,您可以修改rate limiting,以确保您的应用程序仍能很好地处理性能。
这些建议现在仍然超越。我建议您从拥有的东西开始,监视性能,并在必要时使用以上建议。祝你好运!