Usprawnianie pracy z nieprawidłowymi danymi wejściowymi dzięki serwerowi FlowForce

Zawsze, gdy przyjmujemy dane z zewnętrznego źródła, istnieje ryzyko wystąpienia błędów. W przeszłości pisaliśmy o tym zjawisku na naszym blogu Oczekuj nieoczekiwanego – Altova MissionKit rozwiązuje zagadkę formatów liczbowych i w serii wpisów na temat Przetwarzanie danych z API Groupon.

Nieprawidłowe dane w pliku wejściowym mogą spowodować niepowodzenie etapu transformacji danych w zadaniu serwera FlowForce. W przypadku niepowodzenia zadania serwera FlowForce, dalsze etapy nie zostaną wykonane. Serwer FlowForce został zaprojektowany w ten sposób, aby zapobiec rozprzestrzenianiu się błędu w jednym etapie zadania na serię dodatkowych, nieprawidłowych wyników. Na szczęście, serwer FlowForce oferuje również funkcje, które pomagają w odzyskiwaniu po błędach i zapewniają ciągłość działania.

W tym wpisie rozszerzymy temat mapowanie danych i generowanie raportów opis stanowiska pracy Dostosowywanie zadania serwera FlowForce aby w sposób elegancki radzić sobie z błędnymi danymi w pliku wejściowym.

Rozpoczęliśmy od utworzenia wariacji jednego z plików zawierającego błędne dane. Dodaliśmy również folder do przepływu pracy, który miał służyć jako miejsce docelowe dla plików wejściowych zawierających błędy.

Plik wejściowy zawierający błędy został utworzony poprzez skopiowanie istniejącego pliku wejściowego i jego edycji za pomocą programu DiffDog.

Pierwsza kolumna numeryczna w pliku .csv zawiera znacznik czasu, obejmujący godziny, minuty, sekundy i setne części sekundy. Po prostu zmodyfikowaliśmy wartości w wierszach 14 i 15, aby były wyższe niż maksymalna wartość 24 godziny.

Uruchomiliśmy program MapForce i ustawiliśmy plik zawierający nieprawidłowe dane jako źródło danych dla transformacji CameraLog do formatu GPX. Po kliknięciu przycisku "Wyjście" w celu uruchomienia transformacji, wystąpił następujący błąd:

Kroki wykonywane przez serwer FlowForce oraz obsługa błędów

Następnie zdefiniowaliśmy nową wersję zadania serwera FlowForce, która przetwarza dane wewnątrz bloku obsługi błędów i sukcesów. W przypadku niepowodzenia mapowania danych, przenosimy plik wejściowy zawierający błędy oraz ewentualnie częściowo utworzony plik wyjściowy .gpx do folderu "błędne dane". Jeśli mapowanie danych przebiega pomyślnie, przechodzimy do etapu transformacji w celu wygenerowania raportu .html, a następnie przenosimy pliki wejściowe i .gpx do folderu z ukończonymi zadaniami.

Zwróć uwagę na ostatni krok sekcji "Obsługa błędów". Błąd mapowania danych spowoduje zatrzymanie działania pętli "Dla każdego pliku", dlatego ponownie uruchamiamy cały proces, aby zakończyć przetwarzanie wszystkich niezaproszonych plików wejściowych.

Jeśli błąd mapowania danych jest krytyczny dla przedsiębiorstwa i wymaga natychmiastowego działania, możemy nawet dodać krok w sekcji "W przypadku błędu", który będzie wysyłał wiadomość e-mail:

Oczywiście, pola takie jak odbiorca, temat, treść wiadomości oraz załączniki są w pełni konfigurowalne.

Jeśli proces mapowania danych zakończy się pomyślnie, serwer FlowForce uruchomi sekcję "w przypadku sukcesu" i przejdzie do kolejnego kroku: renderowania pliku .html.

Uruchomienie zadania

Zadanie jest uruchamiane w oparciu o określony czas, a serwer FlowForce Server Log rejestruje każdy krok wykonania. W fragmencie logu poniżej można zobaczyć, jak obsługiwany jest plik wejściowy zawierający nieprawidłowe dane. Trzecia linia w sekwencji wskazuje na wystąpienie błędu, a następnie plik wejściowy oraz częściowo wygenerowany plik .gpx są przenoszone do folderu "badData".

Ostatnia linia powyżej pokazuje, że serwer rozpoczyna pracę nad kolejnym plikiem w danym folderze.

Po zakończeniu przetwarzania, w zawartości folderów roboczych możemy zobaczyć oczekiwane wyniki:

Serwer FlowForce jest dostępny dla systemów Windows, Linux, a wkrótce również dla platform Mac OS. Aby rozpocząć korzystanie, ** **kliknij tutaj, aby pobrać bezpłatną wersję próbną!**