Laravel 5.6 - Команды против Джобса для планирования оповещений по электронной почте? - PullRequest
0 голосов
/ 03 декабря 2018

Мне нужно ежедневно отправлять электронные письма пользователям, которые подписались на мою рассылку.

Запланировать ли вышеупомянутую задачу, создав job например

class ProcessEmailAlerts implements ShouldQueue
{
   use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;


   public function __construct()
   {

   }

   public function handle()
   {
       $alerts = App\Alert::all();
       $articles = App\Article::latest()->orderBy('created_at')->get();

       foreach($alerts as $alert) {

           $alert->user->notify(new NewsLetterNotification($alert, $articles));
       }

   }
} 

Затем в App\Console\Kernel определите задание:

$schedule->job(new ProcessEmailAlerts)->daily();

Или я должен сделать Iсоздайте команду следующим образом:

class ProcessEmailAlerts extends Command
{
   protected $signature = 'emailalerts:send';

   protected $description = 'Send newsletter e-mails to subscribed users';


   public function __construct()
  {

  }

  public function handle()
  {
     $alerts = App\Alert::all();
       $articles = App\Article::latest()->orderBy('created_at')->get();

       foreach($alerts as $alert) {

           $alert->user->notify(new NewsLetterNotification($alert, $articles));
       }

   }
}

Затем в App\Console\Kernel определите задание:

$schedule->command('emailalerts:send')->daily();

По сути, я хотел бы получить руководство по правильному подходу для выполнения задач такого типа.- планирование с помощью задания или планирование с помощью команды?

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