| Termin | Definicja |
|---|---|
| brak zakończenia scenariusza | Brak zakończenia scenariusza to usterka automatyzacji pozostawiającej odbiorcę w trwającym bezterminowo procesie. Na czym polega brak zakończenia scenariuszaBrak zakończenia scenariusza oznacza, że automatyzacja rozpoczyna operację, ale nie dochodzi do jednoznacznego stanu końcowego. Proces może wykonywać kolejne kroki bez warunku zatrzymania, oczekiwać na zdarzenie, które nigdy nie nadejdzie, albo pozostawić odbiorcę na ekranie komunikatu typu „trwa przetwarzanie”. W poprawnie zaprojektowanym przepływie każda ścieżka powinna prowadzić do określonego rezultatu: wykonania zadania, kontrolowanego odrzucenia, błędu możliwego do obsłużenia albo przerwania po przekroczeniu limitu czasu. Problem może wystąpić w skrypcie uruchamianym na komputerze, aplikacji desktopowej, formularzu internetowym, narzędziu do instalacji programu lub automatyzacji reagującej na zdarzenia systemowe. Typowym przykładem jest wywołanie funkcji rozpoczynającej pobieranie pliku, po którym interfejs czeka na sygnał zakończenia, lecz kod nie obsługuje odpowiedzi serwera, przerwania połączenia ani odmowy dostępu. Użytkownik widzi wtedy trwającą operację, mimo że rzeczywiste działanie już się zatrzymało. Ścieżki wykonania, które nie prowadzą do stanu końcowegoŹródłem usterki jest często niepełny automat stanów. Scenariusz ma stan początkowy, na przykład „oczekiwanie”, oraz stan roboczy, lecz brakuje przejścia do „zakończono” albo „błąd”. Podobny skutek powstaje wtedy, gdy warunek w pętli pozostaje zawsze prawdziwy, licznik prób nie jest zwiększany lub mechanizm oczekujący na zdarzenie nie ma obsługi wyjątku. W aplikacjach korzystających z komunikacji sieciowej dodatkowym ryzykiem jest oczekiwanie na odpowiedź bez ustawionego limitu czasu. W przepływie opartym na żądaniach HTTP samo otrzymanie kodu 202 oznacza przyjęcie zadania do dalszego przetwarzania, a nie jego ukończenie. Aplikacja musi więc sprawdzić, w jaki sposób pozna wynik operacji: przez odpowiedź zwrotną, odpytywanie statusu zadania, komunikat w kolejce albo zdarzenie typu webhook. Jeżeli nie przewidziano obsługi kodów błędów, zerwania połączenia, pustej odpowiedzi lub niezgodnego formatu danych, scenariusz może pozostać w stanie pośrednim. Z kolei kod 204 informuje o poprawnej odpowiedzi bez treści, dlatego program nie powinien bezwarunkowo próbować odczytać z niej dokumentu JSON. Objawy widoczne podczas pracy automatyzacjiNa komputerze usterka może objawiać się zawieszonym oknem, niekończącym się wskaźnikiem postępu, nieaktywnym przyciskiem „Dalej” albo brakiem komunikatu po wykonaniu operacji. W Menedżerze zadań proces aplikacji może nadal działać, ale nie wykonywać zauważalnej pracy. Czas procesora może pozostawać niski, gdy program blokuje się na operacji wejścia-wyjścia, oczekuje na uchwyt pliku, odpowiedź sieciową lub sygnał z innego wątku. W innych przypadkach proces zużywa jeden rdzeń procesora, ponieważ wykonuje błędną pętlę bez przerwy. Rozróżnienie przyczyny wymaga porównania kilku informacji: logu aplikacji, czasu rozpoczęcia i zakończenia operacji, kodów odpowiedzi, stanu plików tymczasowych oraz liczby uruchomionych procesów. Warto sprawdzić, czy scenariusz powtarza się przy tym samym wejściu, czy występuje wyłącznie po utracie sieci, zmianie uprawnień albo wznowieniu pracy komputera. Istotne jest także ustalenie, czy interfejs przestał odświeżać stan, czy też zadanie rzeczywiście wykonuje się w tle. Sam nieruchomy ekran nie przesądza jeszcze o awarii, ponieważ niektóre operacje mogą być asynchroniczne i wymagać osobnego mechanizmu raportowania postępu. Obsługa zakończenia i diagnostyka na komputerzeNaprawa polega na zidentyfikowaniu wszystkich możliwych ścieżek wykonania oraz dopisaniu dla nich jednoznacznych przejść. Każda operacja oczekująca na zasób powinna mieć limit czasu, obsługę przerwania i bezpieczne zwolnienie plików, blokad lub połączeń. Ponowienie zadania powinno być kontrolowane, aby nie utworzyć duplikatów. Przydatne jest również logowanie identyfikatora operacji, nazwy kroku, czasu rozpoczęcia, wyniku oraz przyczyny przerwania. Dzięki temu można ustalić, czy problem wystąpił w interfejsie, logice programu, systemie plików, sieci czy usłudze zewnętrznej. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, w tym diagnostyką problemów z działaniem aplikacji oraz automatyzacji używanej na komputerze. W praktyce analizowane są objawy, logi dostępne w systemie, sposób uruchamiania programu i jego reakcja na błędy. Jeżeli brak zakończenia scenariusza wynika z uszkodzenia systemu, konfliktu oprogramowania, problemu z dyskiem, pamięcią lub konfiguracją środowiska, dalsze postępowanie dobiera się do potwierdzonej przyczyny, a nie do samego wyglądu zawieszonego okna. |