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

So in a movie ticket booking scenario If user A

and User B tried to book a slot at 3pm at the same time
My backend will receive the req and it will check whether that seat is available or not in my database
So two request will be sent to db from my server for the user A and B, it will return that seat is available for both users
So server will try to book for both
I am using nodejs as backend so the db op will be async

So how do I prevent this thing ?
Should I use some global variable or something and lock a particular seat so after db operation if the variable is not locked that user can book and the variable will be locked so when other user tries to access that variable it will say the slot is already chosen

3 ответов

19 просмотров

How is it stored? Are the "seats" already there(as unbooked) and are they updated as someone books them or are the table rows inserted as the person books them?

Use queueing system, where you process requests one at a time. There are many such libraries Or have a pool of available seats in memory and remove when claimed

Richard | If you DM for support you PAY
Use queueing system, where you process requests on...

When you say in memory what kind of databases are we talking about here? Redis?

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

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

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