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

Коллеги, привет! Подскажите пожалуйста, а какие есть пути обработать параллельные

запросы на вставку уникального ресурса? Логика в том, что ресурс должен быть создан только один раз, однако возникает ситуация при одновременных запросах что выборка для двух запросов возвращает, что ресурс не существует, но при попытке вставки он уже существует. Т.е. условие, на проверку, есть ресурс в базе или нет, не срабатывает.

Алгоритм примерно такой:
1) Проверяем есть ли ресурс в базе
2) Если есть возвращаем
3) Если нет, создаём и возвращаем

У меня получается, что приходит два запроса, в первом пункте получаются, что ресурса ещё нет, а затем, при попытке создать, вываливается эксепшн для одного из, что невозможно вставить так как данные уже есть.

2 ответов

12 просмотров

Но ведь есть же firstOrCreate ?

Там два запроса, второй может отвалиться

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта