Ostatnio spotkałem się z systemem rezerwacji biurek. I tak się zastanawiam jak to jest technicznie zrobione np. rezerwacja miejsc w kinie. Wiem, że do Django jest jakiś dodatek na git.
Jak to jest technicznie rozwiązane tzn. user wybiera miejsce ale fizycznie miejsce jest wyłączane z dostępnych jak rozumiem dopiero po opłaceniu. Taki proces może trwać kilka minut. Czy w tzw. międzyczasie to miejsce jest przesuwane do jakiejś puli chwilowo niedostępnych? Czy po prostu na końcu procesu jest jeszcze raz sprawdzane czy ktoś nas nie wyprzedził i tyle?
Na dane miejsce można zakładać rezerwację opcjonalną, która jak nie zostanie potwierdzona płatnością w określonym czasie to zwraca miejsce do puli dostępnych.
Zależy od systemu przecież. W niektórych miejscach jest tak, że ktoś Cię może wyprzedzić a w niektórych rezerwacja rezerwuje miejsce na np. 15 minut (lub jest przedłużana przy kolejnych krokach) i jeśli nie opłacisz to wraca dopiero
Wnioskuję, że prawidłowo powinno się projektować tak system aby pozwalał na chwilowe blokowanie miejsca na czas zakończenia przetwarzania ale nie jest to reguła. Technicznie rozumiem, że np. w Django po wybraniu miejsca powinien pójść jakiś request blokujący na jakiś czas miejsce np. za pomocą np. ajax.
To czy użyjesz ajax to jest szczegół bo możesz to zrobić też nie ajaxem.
Chwilowe blokowanie nie jest prawidłowo technicznie. Prawidłowo technicznie jest tak jak ma być - tj. w zależności od wymagań systemu.
kesom napisał(a):
Wnioskuję, że prawidłowo powinno się projektować tak system aby pozwalał na chwilowe blokowanie miejsca na czas zakończenia przetwarzania ale nie jest to reguła. Technicznie rozumiem, że np. w Django po wybraniu miejsca powinien pójść jakiś request blokujący na jakiś czas miejsce np. za pomocą np. ajax.
To tylko przykład akurat tą technologię znam.