Это хороший способ отправлять несколько писем одновременно в Laravel? - PullRequest
0 голосов
/ 19 февраля 2019

Я все еще изучаю 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 </p>

1 Ответ

0 голосов
/ 20 февраля 2019

Добро пожаловать в StackOverflow!

На самом деле есть много факторов, когда стоит оптимизировать код, прежде чем вы решите проблему , но похоже, что вы уже используете очереди Laravel, которыеотличный первый шаг.По крайней мере, вы сможете отслеживать свои очереди (https://horizon.laravel.com/, если вы решите его использовать), чтобы увидеть, не увязли ли они или есть проблемы.В первом предложении вам понадобится установить Redis .

. Если есть проблемы, вы можете воспользоваться ограничением скорости , чтобы убедиться, что ваше приложение по-прежнему хорошо обрабатывает производительность..

Эти предложения по-прежнему выше и выше прямо сейчас.Я бы порекомендовал начать с того, что у вас есть, отслеживать производительность и при необходимости использовать приведенные выше рекомендации.Желаем удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...