这是在Laravel中一次发送多封邮件的好方法吗?

时间:2019-02-19 19:03:28

标签: laravel email laravel-mail

我仍在学习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

1 个答案:

答案 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,以确保您的应用程序仍能很好地处理性能。

这些建议现在仍然超越。我建议您从拥有的东西开始,监视性能,并在必要时使用以上建议。祝你好运!