Мне нужно ежедневно отправлять электронные письма пользователям, которые подписались на мою рассылку.
Запланировать ли вышеупомянутую задачу, создав 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();
По сути, я хотел бы получить руководство по правильному подходу для выполнения задач такого типа.- планирование с помощью задания или планирование с помощью команды?