Dostosowywanie zadania serwera FlowForce

W naszym poprzednim wpisie, zatytułowanym: Automatyzacja mapowania i transformacji danych dzięki serwerowi FlowForce, stworzyliśmy zadanie o nazwie SimpleMapAndTransform, które służy do automatyzacja mapowania danych z serwerem MapForce i Tworzenie raportów w formacie HTML przez serwer StyleVision. Po tym, że FlowForce Server Podczas wielokrotnego uruchamiania tego procesu, w tej samej lokalizacji, w której przetwarzamy pliki wejściowe, zgromadziło się wiele plików wynikowych, a także tymczasowe pliki pośrednie w folderze "workFiles", jak widać na poniższym obrazku.

W tym wpisie poprawimy działanie skryptu, aby uzyskać bardziej uporządkowane wyniki oraz usunąć niepotrzebne tymczasowe pliki.

Restrukturyzacja wyników

Po pierwsze, możemy dodać więcej kroków wewnątrz pętli "dla każdego pliku", która przetwarza pliki wejściowe, aby przenieść nowo utworzone pliki .gpx i .html, powstałe w wyniku mapowania i transformacji danych, do folderu "completedInput". Są to kroki 3 i 4 w poniższej sekwencji.

Opcja "Working directory" w każdym kroku może również przekierowywać wynik. Jednak zmienna , której używaliśmy do wyboru każdego pliku wejściowego do przetworzenia, zawiera pełną ścieżkę i nazwę pliku, więc prostsze jest dalsze korzystanie z tego ciągu znaków i przeniesienie wszystkich plików wynikowych po zakończeniu przetwarzania.

Nasze rozwiązanie StyleVision do tworzenia raportów obejmuje wykres, który jest zapisywany jako oddzielny plik .png, niezależnie od głównego dokumentu .html. Ostatni etap procesu wykorzystuje funkcję wiersza poleceń systemu, która przenosi wszystkie pliki .png z folderu wejściowego do folderu z gotowym wynikiem.

Funkcja dostępna w interfejsie wiersza poleceń umożliwia zdefiniowanie dowolnego poprawnego polecenia systemu operacyjnego jako etapu zadania w serwerze FlowForce. W tym zadaniu nadal jesteśmy wewnątrz pętli "dla każdego", więc pliki .png będą przenoszone razem z powiązanymi plikami .html. Użyliśmy znaku wieloznacznego w nazwie pliku .png, ponieważ pliki .png nie zawsze ściśle odpowiadają schematowi nazewnictwa plików wejściowych. Ten wzorzec z użyciem znaku wieloznacznego działa również dla projektów StyleVision, które generują wiele wykresów dla każdego raportu.

Kroki związane z pracą sprzątaczki/sprzątacza

Regularne czyszczenie zawartości katalogów roboczych jest dobrą praktyką. Nasze rozwiązanie wykorzystuje folder "workFiles" do rozszerzania zawartości pliku .pxf w celu generowania raportów. Zrzut ekranu tego katalogu, który znajduje się na górze tego wpisu, pokazuje schemat XML, pliki robocze związane z projektem, pliki .XSLT służące do generowania różnych formatów raportów oraz tymczasowe pliki robocze.

Możemy dodać krok czyszczenia po pętli "for-each" w naszym zadaniu, aby natychmiast usunąć niepotrzebne pliki po zakończeniu przetwarzania. Jednak serwer FlowForce umożliwia uruchomienie wielu jednoczesnych instancji tego samego zadania. Byłoby niepożądane, gdyby jedna instancja czyściła folder "workFiles", podczas gdy inna instancja wciąż z niego korzysta!

Lepszym rozwiązaniem jest zdefiniowanie oddzielnego zadania czyszczącego i zaplanowanie jego uruchomienia w momencie, gdy główne zadanie jest nieaktywne. Poniżej znajduje się przykład bardzo prostego zadania czyszczącego dla folderu "workingFiles", wykorzystującego ponownie funkcję wiersza poleceń:

Użyliśmy znaku wieloznacznego, aby usunąć wszystkie pliki w katalogu "workFiles", ale ta opcja może nie być odpowiednia w każdym przypadku. Jeśli plik .pxf zawiera arkusze stylów .css lub pliki graficzne, które są potrzebne do działania dokumentu .html, konieczne będzie zastosowanie bardziej precyzyjnych metod czyszczenia.

Czynniki wpływające na zatrudnienie

Zadanie SimpleMapAndTransform jest zaplanowane do uruchamiania co 15 minut, od 8:30 do 17:00, od poniedziałku do piątku. Jak widać powyżej, zadanie czyszczące jest zaplanowane do uruchamiania raz dziennie o godzinie 19:00. Strona główna interfejsu webowego serwera FlowForce wyświetla harmonogram zadań:

Oto prosty sposób, który można wykorzystać do przetestowania zadania FlowForce Server podczas jego definiowania. Każde zadanie może mieć wiele wyzwalaczy kalendarzowych. Możemy zdefiniować wyzwalacz jednorazowy, aby natychmiast przetestować nowe zadanie, a następnie zaplanować jego uruchomienie za kilka sekund:

Możemy uzyskać natychmiastowe informacje, przeglądając dziennik serwera FlowForce, który zawiera szczegółowe informacje o każdym etapie wykonywanej operacji.

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ą!**