Нет активной транзакции, когда несколько запросов AJAX от одного пользователя - PullRequest
1 голос
/ 28 мая 2019

У меня довольно неловкая проблема.

В диалоговой системе, когда пользователь отправляет сообщение, отправляется запрос AJAX, а затем создается транзакция PDO для выполнения нескольких операций INSERT и UPDATE.

Для проверки я спамил рассылку сообщений, в результате чего несколько AJAX-запросов отправлялись параллельно. Из десяти сообщений, отправленных «одновременно», несколько транзакций будут содержать ошибку, обработчик ошибок Laravel отправит мне «Нет активной транзакции».

Это проблема конфигурации PDO? Я ставлю DB :: beginTransaction над попыткой catch. Очевидно, ошибка в DB :: commit, который обнаруживает, когда больше нет транзакции в процессе. Это тот факт, что именно моя «пользовательская сессия» отправляет запросы AJAX, которые отменяют транзакцию PDO по другому запросу, чем текущий?

Я использую Laravel 5.8.19 и CockroachDB 19.1.1.1.

Спасибо за помощь.

...