Хочу использовать default queue для почты, для этого как сказано в ларавел документации
использую такую конструкцию
use Illuminate\Contracts\Queue\ShouldQueue;
class OrderShipped extends Mailable implements ShouldQueue
{
//
}
после того как запускаю laravel queue php artisan queue:work
в консоли нечего не происходит, зависает так без ошибки только моргает курсор.
Правильная ли это реакция на артизан команду ?
Добавлю что почта до и после php artisan queue:work посылается очень медленно.
Отсюда могу предположить что queue не работает , потому что как я понял из документации queue сделана для ускорения работы приложений.
Очередь реализована для того, чтобы пользователь не ждал ответа сервера при выполнении длительных операций, например, именно почта. Таким образом, при отправке письма при каком-нибудь действии (например,подтверждении формы регистрации), пользователь сразу увидит следующую страницу, а почта будет отправляться в порядке очереди, если нет других задач.
Чтобы работала очередь, важно настроить драйвер очереди. Это может быть Redis, который использует библиотеку Predis, или реализовать очередь можно с помощью базы данных. Если задач планируется немного, то БД - хорошее решение.
Достаточно указать в .env файле
QUEUE_DRIVER=database, а также создать необходимые таблицы. Это можно сделать следующим образом:
php artisan queue:table
php artisan migrate
И, разумеется, запустить слушатель:
php artisan queue:work
И всё будет работать.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости