Mam aplikację internetową w pracy, która jest podobna do systemu obsługi biletów. Niektórzy użytkownicy wprowadzają nowe problemy. Inni pracownicy wybierają i rozwiązują problemy. Wszystkie dane są przechowywane w serwerze MS SQL 2005.Uniemożliwianie użytkownikom pracy z tym samym rzędem
Użytkownikom roboczych do rozwiązywania problemów przejść do strony, gdzie mogą zobaczyć otwartych kwestii. Ponieważ na tej stronie może jednocześnie znajdować się do dwudziestu osób, jednym z potencjalnych problemów, które musiałem rozwiązać, było to, co dzieje się, gdy ktoś wybrał problem, który ktoś wybrał tuż po załadowaniu strony.
Aby rozwiązać ten problem, zrobiłem dwie rzeczy. Po pierwsze, widok siatki wyświetlający problemy do wybrania używa licznika AJAX do aktualizacji co sekundę. Po wybraniu problemu znika on najwyżej jedną sekundę. W przypadku wybrania jednego w ciągu sekundy otrzymają komunikat z prośbą o wybranie innego.
Problemem jest to, że AJAX częścią tego jest wysyłanie zbyt wielu nowości (to co ja zakładając), który wpływa na działanie strony i bazy danych. Ponadto aktualizacje nie są wykonywane co sekundę. Uważam, że licznik czasu nie jest wiarygodny podczas pracy w celu wyzwolenia procedur przechowywanych.
Musi istnieć lepszy sposób, ale nie mogę go znaleźć. Czy ktoś ma doświadczenie w takiej sytuacji lub ma sugestie, aby wielu użytkowników nie wybrało tego samego rekordu do zachowania? Naprawdę nie chcę całkowicie wyłączać części AJAX, ponieważ sama wiadomość sprawi, że aplikacja będzie frustrująca w użyciu.
Dzięki,
+1 dla randomizacji, dokładnie to, co zamierzałem zasugerować! –
Losowa kolejność nie będzie działać. Bilety mają priorytet ważności po wygaśnięciu poziomu usług. –
Jakie są podstawy wygaśnięcia poziomu usług? Czy to jest ustalenie oparte na czasie? W zależności od Twojego problemu, możesz je pogrupować w ciągu najbliższej minuty (lub piętnastu minut) i mieć "wystarczająco dobre". W każdym razie wiem, że prośba o wyjątek od priorytetów jest politycznie problematyczna, ale jeśli * możesz *, może się to opłacać. –