Застревают очереди при отправки чере 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;
Комментариев нет:
Отправить комментарий