У нас есть очередь заданий Laravel 5.2, которая часто не выполняет задания из-за этой ошибки:
SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
У нас есть несколько рабочих, которые получают доступ к таблице вакансий, потому что некоторые работы довольно тяжелые. Я видел похожие посты на SO об этой проблеме, но мне еще предстоит найти хорошее практическое решение.
Есть ли эффективный способ избежать взаимоблокировок с помощью таблицы заданий Laravel?
У меня тоже была эта проблема. Я поместил оскорбительный запрос в функцию и включил функцию try, когда я вызываю функцию. Я вызвал функцию в блоке try и catch. так что, если есть блокировка и генерируется исключение, блок catch будет повторять запрос.
Других решений пока нет …