Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
У меня стоит задача, контролировать системные уведомления, которые отправляются пользователям через веб-сайт(о регистрации, заказ звонка, активации и тд). Сама отправка почты происходит через внутренний почтовый сервер, а laravel пушит их в очередь на отправку через свой сервис очередей.
В очередях есть некий функционал работы с ошибками, незавершенными отправками и тд.
Но, есть ли возможность сделать таблицу разных уведомлений по почте в читаемом для оператора виде:
1. Активация аккаунта (дата) (Статус - ушло\ошибка)
2. Заказ обратного звонка (дата) (Статус - ушло\ошибка)
3. Заказ консультации (дата) (Статус - ушло\ошибка)
Чтобы можно было при ошибке повторно отправить уведомление. Само по себе повторную отправку организовать просто. Тут вопрос в том, как связать данные из таблицы jobs с уведомлениями, чтобы можно было понять, что именно и для кого зафейлилось, а что было отправлено.
И второй вопрос. Возникает ли ошибка в очередях, если есть какие-либо проблемы с почтовым сервером? Иными словами, на сколько можем довериться тому, что очередь отработала без ошибки.
Не в сети
Вам на сервере нужно держать запущены php artisan queue:work --tries=3 (трайз тут или в джобе поможет контролировать попытки на случай ошибок и Supervisor в помощь)
Очереди я думаю отлично лежат в Редисе и если соблюдать queue connection для разных очередей то эту инфу можно по ключу выбирать - там обьект со всей этой инфой.
Инфа о том что зафейлилось если надо может собираться в табличку - php artisan queue:failed-table. Но я думаю архитектурно правильнее написать Хендлер нужной бизнес логики (отправка смс при ошибке или запись нужная в журнал Тут если надо и событие дернуть можно но это на любителя) и передавать ошибки уже в него.
если хендлеры не лень пописать то можно в джобе все через трай-кечь прописать и разные обработчики напихать - детализация ошибок на ваш вкус..
Я както так вижу.
Не в сети
Спасибо за развернутый ответ, ценно!)
Не в сети
Страницы 1