Wdrożenie u klienta

Wypłaty, które przestały kończyć się w połowie

Przy wypłacie 18 080 CHF system zapisał tylko część danych, choć pokazał powodzenie. Po naprawie rozliczenie 210 pozycji trwa 3,9 sekundy, a każda niezgodność uruchamia alarm.

Klient
Studio usługowe, Szwajcaria · dalsza współpraca
Czas
Około tygodnia
Poglądowy obraz panelu do rozliczeń i wypłat — dane zmienione ze względu na prywatność
Poglądowy obraz aplikacji — ze względu na prywatność

Przed

  • Wypłata 18 080 CHF zatrzymała się w połowie, ale system pokazał powodzenie
  • Przy większej liczbie pozycji część zapisów po prostu znikała
  • Nie było ostrzeżenia ani bezpiecznego sposobu dokończenia operacji
  • Rozliczenie około 210 pozycji trwało ponad 2 minuty i nie zawsze dochodziło do końca

Po

  • Rozliczenie 210 pozycji trwa 3,9 sekundy
  • System rozróżnia wypłatę rozpoczętą, zakończoną i nieudaną
  • Nocna kontrola wysyła alarm tylko wtedy, gdy dane się nie zgadzają
  • Nieudaną operację można bezpiecznie dokończyć jednym przyciskiem

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 →

Technologie w tym wdrożeniu

Base44DenoTypeScriptReactTelegram APIGitHub CI

Podobna sytuacja u Ciebie?

Zadzwoń i powiedz, co ma działać.

Nie musisz znać technicznych nazw. Pierwsza rozmowa jest bezpłatna — powiem, od czego bym zaczął.

600 zł

Na start: przegląd

2–3 dni: lista problemów i ryzyk, plan i wycena. Kwotę odliczam, jeśli zaczniemy współpracę.

Jeśli nie odbiorę, oddzwonię tego samego dnia roboczego.

← Wszystkie wdrożenia