System powiedział „gotowe”, choć wykonał połowę pracy
Klient prowadzi dwa studia i rozlicza pracowników w wewnętrznym systemie. Problem ujawnił się przy jednej większej wypłacie: 18 080 CHF i 212 pozycji. Około połowa zapisów została wykonana, druga połowa nie, a na ekranie pojawiło się powodzenie.
To groźniejszy rodzaj awarii niż zwykły komunikat o błędzie. Właściciel nie wie, że powinien reagować, a częściowo zapisane dane mogą później doprowadzić do podwójnego naliczenia lub żmudnego ręcznego sprawdzania.
Dlaczego tak się działo
System zapisywał każdą pozycję osobno. Przy większej wypłacie wysyłał ponad 270 żądań w krótkim czasie, przekraczał ograniczenia używanej platformy i gubił część odpowiedzi. Błędy były przechwytywane, ale nigdzie ich nie pokazywano.
Testy z wolniejszym zapisem nie pomogły. Problemem nie było tempo, tylko sama liczba oddzielnych operacji. Potrzebna była zmiana sposobu rozliczania, nie kolejne opóźnienie między próbami.
Co zmieniłem
Zapisywanie paczkami
Zamiast aktualizować ponad 200 pozycji pojedynczo, system przesyła je w kilku większych paczkach. Liczba połączeń spadła z około 272 do około 10. Rozliczenie 210 pozycji zajmuje teraz 3,9 sekundy.
Jasny stan każdej wypłaty
Wypłata może być rozpoczęta, zakończona albo nieudana. Status „zakończona” pojawia się dopiero wtedy, gdy wszystkie kroki zostały potwierdzone. Powtórzenie operacji nie nalicza tych samych pieniędzy drugi raz.
Kontrola, która odzywa się tylko przy problemie
Każdej nocy system porównuje ostatnie wypłaty z zapisami źródłowymi. Gdy wszystko się zgadza, milczy. Gdy wykryje różnicę, właściciel dostaje wiadomość w Telegramie z informacją, którą wypłatę trzeba sprawdzić.
Bezpieczne dokończenie
Niedokończona wypłata jest wyraźnie widoczna w panelu. Przycisk „Dokończ wypłatę” uzupełnia tylko brakujące zapisy. Nie trzeba poprawiać danych ręcznie ani prosić programisty o interwencję przy każdym podobnym zdarzeniu.
Wdrożenie bez zatrzymywania studiów
Nowy sposób rozliczania został sprawdzony na koncie testowym, nie na danych prawdziwych pracowników. Poprzedni mechanizm pozostał gotowy do przywrócenia, dopóki nowy nie przeszedł wszystkich prób. Studia pracowały bez przerwy.
Rezultat
Najważniejsza zmiana nie dotyczy szybkości, choć ta poprawiła się ponad trzydziestokrotnie. System obracający pieniędzmi przestał udawać, że wszystko jest w porządku. Każda wypłata ma ślad, kontrolę poprawności i bezpieczną drogę naprawy.
Liczby na tej stronie pochodzą z opisanego zdarzenia i testu 210 pozycji. Nie są uśrednieniem ani obietnicą wyniku w innym systemie.
Ta naprawa to jeden z etapów stałej opieki nad systemem studia. Zobacz, od czego się zaczęło i co doszło później →