169 похожих чатов

Доброго вечера, в чате для новичков мне никто не ответил,

может гуру подскажут. Есть одна очень большая транзакция с разными upsert (их много) и update (парочка) в моделях. Мне очень важно ее либо выполнить, либо откатить. Я делаю так:

retry(50, function () use ($task) {
DB::beginTransaction(); // Начало транзакции

try {
// Код с запросами upsert и update по моделям

DB::commit(); // Фиксация изменений
} catch (\Exception $e) {
DB::rollback(); // Откат изменений в случае ошибки
}
}, function ($attempt) {
return $attempt * 1000;
});

В итоге в логе вижу ошибку:
local.ERROR: There is already an active transaction {"exception":"[object] (PDOException(code: 0): There is already an active transaction

Спросите, почему так много retry - потому что получал часто mysql server has gone away.

Что посоветовали бы? Транзакцию необходимо гарантированно выполнить.

4 ответов

26 просмотров

Может, для начала разобраться с gone away?

Dimases- Автор вопроса
Артём
Может, для начала разобраться с gone away?

Идея хорошая, только с чего начать? Там реально большая нагрузка по запросам может быть. Не факт, что vds позволяет больше.

Dimases
Идея хорошая, только с чего начать? Там реально бо...

Значит, пора съезжать с VDS и масшабироваться

Dimases- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта