Laravel ставит в очередь PDO-соединение, не разрешенное

#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, и теперь все прошло отлично, возможно, в другом коде была какая-то проблема, которая вызвала это.