Тупики очереди заданий Laravel с несколькими демонами очереди

У нас есть очередь заданий Laravel 5.2, которая часто не выполняет задания из-за этой ошибки:

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction

У нас есть несколько рабочих, которые получают доступ к таблице вакансий, потому что некоторые работы довольно тяжелые. Я видел похожие посты на SO об этой проблеме, но мне еще предстоит найти хорошее практическое решение.

Есть ли эффективный способ избежать взаимоблокировок с помощью таблицы заданий Laravel?

2

Решение

У меня тоже была эта проблема. Я поместил оскорбительный запрос в функцию и включил функцию try, когда я вызываю функцию. Я вызвал функцию в блоке try и catch. так что, если есть блокировка и генерируется исключение, блок catch будет повторять запрос.

0

Другие решения

Других решений пока нет …