#laravel #laravel-queue
#laravel #laravel-очередь
Вопрос:
У нас есть задание sms, которое запускается для каждого sms, которое необходимо отправить, поэтому, если у нас есть 100 sms, мы планируем 100 заданий, чтобы разрешить одно и несколько sms.
Когда мы отправляем sms-кампанию, для отправки sms-сообщений используется сторонняя служба rest. Мы отправили кампанию из 7500 sms, поэтому в очереди 7500 заданий, как только она отправила 151 sms, мы начинаем получать
[2020-10-28 15:41:16] производство.ОШИБКА: сериализация ‘Doctrine DBAL Driver PDOConnection’ не разрешена {«исключение»:»[объект] (Исключение (код: 0): сериализация ‘Doctrine DBAL Driver PDOConnection’ не разрешена в /home/site/ releases/20201026103626/vendor/laravel/framework/src/Illuminate/Queue/Queue.php:139)
для всех остальных sms не уверен, почему это происходит.
Мы используем очереди laravel с подключением к базе данных (mysql), все остальные сайты на этом сервере работают нормально, похоже, не теряют соединение с базой данных (при просмотре сайта во время работы очередей) Сервер базы данных — это отдельный сервер, выделенный для mysql.
Комментарии:
1. Проверьте определение задания. Если, например, по истечении времени ожидания заданий X и их необходимо повторно запросить (я думаю), они будут запрошены в их текущем состоянии, т.Е. Если вы добавили дополнительные свойства, они также будут сериализованы. Конечно, это всего лишь предположение
Ответ №1:
Проблема устранена, было много кода для проверки времени и разрешения отправки sms-сообщений только между определенными временами и другим кодом, я удалил его и оставил только фактическую отправку кода sms, и теперь все прошло отлично, возможно, в другом коде была какая-то проблема, которая вызвала это.