Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Застревают очереди при отправке писем

Застревают очереди при отправки чере queue, если ставлю просто через send то отрабатывает стабильно
Mail::to($usermail, $username)->send(new \App\Mail\ConfirmEmail
Какие варианты решения этой проблемы существуют. Заранее благодарен. Почтовый сервер exim
Проблема в том, что это задерживает отработку скрипта так как очередь работает прозрачно и на отработку скрипта никак не влияет, а при прямой отправке происходит задержка и довольно существенная так как отправка идет не одному адресату, а десятку или даже сотне
Драйвер Redis


Ответ

При использовании QUEUE_DRIVER=database
Если создана таблица для сбора заданий завершенных с ошибками, там будет содержаться подробная информация. Если не создана таблица выполните
./artisan queue:failed-table ./artisan migrate
Снова запустите listener
./artisan queue:work --queue=<название_очереди> --sleep=2 --tries=1 --timeout 30 --daemon
Выполните отправку сообщения и посмотрите есть ли не выполненные задания
./artisan queue:failed
Если будет такой вывод
+----+------------+-------+-----------------------+--------------------- + | ID | Connection | Queue | Class | Failed At | +----+------------+-------+-----------------------+--------------------- + | 10 | database | email | App\Jobs\SendEmailJob | 2017-04-11 11:43:16 | | 9 | database | email | App\Jobs\SendEmailJob | 2017-04-11 11:40:16 |
выполните SQL запрос, в поле exception будет содержаться информация об ошибке.
SELECT * FROM failed_jobs;

Комментариев нет:

Отправить комментарий