Witam. Robię coś w rodzaju poczekalni, gdzie będzie wyświetlana lista użytkowników przeglądających daną stronę. Problem rodzi się w punkcie 4, wyjaśnię po przedstawieniu działania mojego systemu.
1. użytkownik wchodzi na stronę, jest dodawany do listy
2. jest ustawiony interval w javascript, który aktualizuje czas, kiedy ostatnio był widziany użytkownik
3. podczas tego intervala przy okazji kasowane są rekordy, gdzie czas nie został zaktualizowany od x sekund
4. w odpowiedzi serwer podaje, jakich użytkowników należy dodać i usunąć z listy w przeglądarce
co do punktu 4, serwer miałby zwrócić użytkowników, których rekordy zostały usunięte poleceniem DELETE. tu rodzi się problem, bo niektórzy użytkownicy zostaną usunięci w jednym zapytaniu, inni - w drugim, od innego użytkownika. tak samo z dodawaniem userów - temu, komu jako pierwszemu wykona się interval, dodadzą mu się użytkownicy, którzy weszli do poczekalni.
więc tu rodzi się myśl, aby po prostu od nowa listować użytkowników za każdym wywołaniem intervala. ale to już wydaje się nieoptymalne
da się to zrobić jakoś inaczej, by użytkownicy na bieżąco byli aktualizowani, a mniejszym kosztem transferu?
Przy okazji, czy ten system jest ogólnie w miarę optymalny? Może istnieją lepsze sposoby?