Przejdź do głównej zawartości

Środowisko uruchomieniowe


Do uruchamiania definicji zadań w środowisku serwerowym można użyć programu TransformationRunner.exe, który uruchamia TaskManagera i inicjuje zadanie startowe (w innych trybach tylko inicjuje, lub tylko uruchamia managera), ewentualnie uruchamia zadanie przetwarzania bez „obudowy”.

TransformationRunner

Program TransformationRunner.exe oferuje następujące możliwości:

  1. kontrolowanie zadań w tabeli TASKS (start nowego),
  2. uruchamianie zadań poprzez uruchomienie instancji Task Managera,
  3. wraz z uruchomieniem zadania,
  4. tylko wznawianie zadań już istniejących (--resume).

Niżej przedstawiono możliwe argumenty wywołania programu wykonawczego (uruchomienie bez parametrów – powoduje krótką autodiagnostykę środowiska):

TransformationRunner [Wersja: 1.0.3947.22801 (x86)]
Copyright (c) 2005-2010 VSoft SA. Wszelkie prawa zastrzeżone.
Użyj Ctrl-X aby spróbować zatrzymać zadania.

Uruchamia zadanie w procesie TaskManager'a.
Użycie: TransformationRunner nazwa_zadania [WsadId=liczba] [Revision=liczba]
[[parametr1=wartość1]],...,[parametrN=wartośćN]]
Użycie:TransformationRunner --resume [...]

Przykład: TransformationRunner START wsadid=1 revision=1 data=20100122
Parametry:
nazwa_zadania Nazwa zadania do uruchomienia według pliku hierarchii zadań.
wsadid=liczba Id. wsadu uruchamianego zadania.Ignorowana wielkość liter w nazwie parametru. Dopuszczalna wartość 'max'. Domyślnie - nowy wsad (max+1).
revision=liczba Numer powtórki uruchamianego zadania. Ignorowana wielkość liter w nazwie parametru.
parametrN=wartośćN Dodatkowe parametry uruchamianego zadania w postaci klucz=wartość.
-d Zakończenie procesu przetwarzania nie kończy programu.
--resume Włącza możliwość automatycznego wznawiania. Może być jedynym parametrem.
--noCleanup Wyłącza możliwość automatycznego sprzątania starych, urwanych zadań.
--monitorOnly Włącza tryb monitorowania zadań. Zadania nie są przetwarzane.

W trakcie działania można używać skrótów klawiszowych:
Ctrl+Shift+t, Ctrl+t - regulowanie poziomu logowania +/-
Ctrl+x - próba czystego zatrzymania przetwarzania - z podsumowaniem czasów w logu itd.

Brak parametrów. Uruchamiam tylko diagnostykę ustawień.

Sprawdzanie konfiguracji...
DB_TASKS [OK]
ASMW_EXTRACT [OK]
ASMW_SPRAWY [OK]

Działanie programu można przerwać na dwa sposoby:

  1. Siłowo (kill)

Wybranie akcji spowoduje pozostawienie działających zadań w stanie „RUNNING”. Po rozwiązaniu ewentualnych problemów z powoli działającymi zadaniami, możliwe jest przywrócenie bazy do stanu pierwotnego. Przetwarzanie można wznowić wywołując TransformationRunner --resume. Niestety, jeśli wykonywanym działaniem jest pakiet przetwarzania, nie zostanie zalogowane podsumowanie wykonania, w tym również czasy przetwarzania bloczków (co mogłoby stanowić cenną wskazówkę do wykrycia przyczyny powolnego działania).

  1. Naciskając Ctrl-X w oknie konsoli

Akcja spowoduje zgłoszenie żądania przerwania przetwarzania. Zostaną zalogowane odpowiednie błędy typu „Przerwanie przetwarzania” oraz podsumowania czasów działania bloczków z zadań „Pakiety przetwarzania”. Zadania przejdą do stanu „ERROR”.

TransformationRunner

Program TransformationRunner.exe oferuje możliwość uruchomienia procesu przetwarzania pakietu. Tabela niżej ilustruje przykładowe wywołanie bez parametrów.

TransformationRunner [Wersja: 2.0.0.0 (x86)]
Copyright (c) 2005-2010 VSoft SA. Wszelkie prawa zastrzeżone.

Uruchamia pakiet masowego Masowego Przetwarzania Danych
Użycie: TransformationRunner ścieżkaDoPakietu.transform [--arg[=value] | pkgArg=value | block.param=value ...]

Przykład:
TransformationRunner load.its Input.FilePath=data.csv DateFrom=2010-03-12
TransformationRunner --dumpParams > params.txt
TransformationRunner load.its --paramsFile=params.txt

Parametry:
--dumpParams zrzuca na STDOUT plik ustawień parametrów pakietu
--paramsFile=path ładuje plik ustawień parametrów pakietu

Uwaga: argumenty z linii poleceń są ważniejsze od argumentów znajdujących się w pliku.

W trakcie działania można używać skrótów klawiszowych:
Ctrl+Shift+t, Ctrl+t - regulowanie poziomu logowania +/-
Ctrl+x - próba czystego zatrzymania przetwarzania - z podsumowaniem czasów w logu itd.

Brak wymaganego parametru 'ścieżkaDoPakietu.transform'!

Przeciętny pakiet przetwarzania, w celu uruchomienia może potrzebować wielu wartości argumentów wywołania oraz parametrów bloczków. Aby umożliwić wywoływanie wielu wariantów pakietu, przy ustalonej większości parametrów, można je podawać w pliku.

Plik taki może przyjmować następującą postać:

### Wzorzec pliku ustawień parametrów
### można korzystać z prostego mechanizmu podmian postaci:
# Var=value
# Block.Param=prefix{Var}suffix

FILE_PREFIX=20100917_1214

# Argumenty wywołania:
LINK = serwer.local/SYSTEM/WebServices/Service1.svc
SCN_ID2_NAME = DEPOZYTY_2
SCN_ID3_NAME = KREDYTY_2

# Bloczki:
## Bledy_DIALER
Bledy_DIALER.FilePath = LogDialera{FILE_PREFIX}.csv;LOGS

## CPK
CPK.Environment = SYSTEM_TEST

## Plik dialeraWindykacja1
Plik dialeraWindykacja1.FileListPath = ;DATA_OUT

## Plik dialeraWindykacja2
Plik dialeraWindykacja2.FileListPath = ;DATA_OUT

W pliku sterującym istnieje możliwość korzystania z prostego mechanizmu podmian napisów, gdzie odwołanie do napisu ma postać {Klucz}, a wartości mogą pochodzić z:

  1. kluczy zdefiniowanych wcześniej w samym pliku,
  2. argumentów wywołania programu TransformationRunner.exe
  3. pliku konfiguracyjnego, sekcji appSettings.

Wartości parametrów będących ścieżkami do plików lub katalogów mogą mieć postać: FragmentŚcieżki1;SYMBOL_KATALOGU Podczas uruchamiania konstrukcja taka zostanie przetłumaczona na ścieżkę wynikową, a SYMBOL_KATALOGU zostanie pobrany z pliku konfiguracyjnego sekcji appSettings, a następnie poprawnie sklejony z resztą ścieżki.

Przykładowo:

Patrząc na wpis zamieszczony w pliku sterującym TransformationRunner.exe wyżej:

## Plik dialeraWindykacja1
Bledy_DIALER.FilePath = LogDialera{FILE_PREFIX}.csv;LOGS

umieszczając w pliku konfiguracyjnym aplikacji wpis:

<appSettings>
<add key="LOGS" value="C:\archITekt\DATA\LOGS" />
<appSettings>

parametr konfiguracyjny dla pliku Bledy_DIALER będzie miał wartość:

C:\archITekt\DATA\LOGS\LogDialera20100917_1214.csv

Środowisko uruchomieniowe usług​

Do hostowania usług wykorzystywany jest program o nazwie TransformationService.exe, który można uruchamiać testowo w trybie konsolowym lub jako usługę (po uprzedniej rejestracji w systemie np. programem sc). Program w trakcie działania kolejno:

  1. zainicjuje logowanie według konfiguracji (np. na dysk, do bazy itd…),
  2. jeśli jest częścią środowiska konfiguracji technicznej - wykona korekty konfiguracji i zarejestruje się jako węzeł przetwarzający,
  3. sprawdzi własną konfigurację (katalogi, dostępność baz),
  4. opcjonalnie wykona autodiagnostykę,
  5. poszuka wszystkich pakietów ze wskazanego poddrzewa dysku lub serwera wersji o nazwach pasujących do zadanego wzorca i będących pakietami usługowymi,
  6. sprawdzi i skompiluje pakiety jako elementy wspólnego endpointa SOAP / REST / POX,
  7. w zależności od sposobu wywołania - zakończy działanie lub wystartuje usługę sieciową według konfiguracji <serviceModel> i znalezionych pakietów i przejdzie w tryb nasłuchu.

W tym ostatnim trybie aplikacja w trybie konsolowym reaguje na sygnał <ENTER>, który powoduje zrzucenie do logów poszczególnych pakietów aktualnego stanu działania, identycznego z tym, który się pojawia po zakończeniu pakietu, uzupełnionego o bieżące ślady stosów wszystkich wątków roboczych.

Działanie takie można również wywołać dostarczając do usługi windows sygnał pauzowania. Zachowanie to służy do diagnozowania w sytuacjach nietypowych - dane z logów można załadować do środowiska projektowego i analizować graficznie.

wskazówka

Program ma dodatkową możliwość automatycznego, "kulturalnego" restartu w przypadku wykrycia zmian w treści definicji pakietów usługowych. Częstotliwość sprawdzania zmian można określić w konfiguracji.

  1. Inną dodatkową opcją jest możliwość automatycznej deduplikacji nazw elementów-korzeni poszczególnych operacji wejściowych w sytuacji, gdy wiele pakietów posłuży się tą samą (zwykle domyślną) nazwą.
  2. Działanie takie, choć niezalecane na środowiskach produkcyjnych, pozwala szybko prototypować duże zestawy usług sieciowych.
  3. Deduplikacja odbywa się poprzez doklejanie kolejnych sufixów _1, _2, _3 itd… aż do uzyskania unikalnych nazw.
  4. Na środowiskach produkcyjnych, po wyłączeniu tej cechy, duplikat nazwy korzenia spowoduje brak możliwości uruchomienia hostowania usług. W przeciwnym przypadku system mógłby doprowadzić do gubienia danych.
  5. Szczegóły konfiguracji opisanych elementów można znaleźć w konfiguracji XML programu, wyposażonej w komentarze.

Zasady budowy pakietów usługowych można znaleźć w rozdziałach poświęconych bloczkom Żądanie i Odpowiedź.

Operacje zdefiniowane w pakietach są w trakcie wykonywania doklejane do wskazanego w konfiguracji kontraktu WCF. Dzięki temu można część operacji zakodować w .NET.

Weryfikacja wersji - podmiany​

Każdy pakiet przetwarzania zapisuje w środku wersję oprogramowania użytą do jego produkcji. Ponadto na zakończenie przetwarzania lub podczas ładowania nowej wersji elementu są logowane takie szczegóły pliku (elementu serwera wersji), jak skrót MD5, data modyfikacji i rozmiar. Te same wartości są dostępne w projektancie pakietu jako opcja „Wersja pakietu”. Porównanie zapisów logu i projektanta pozwala szybko zweryfikować, czy spodziewana podmiana pakietów miała miejsce (właściwy czas, środowisko itd.), czy nie.

Pic 151

Pic 152

Zobacz również​

Tworzenie nowego pakietu/hierarchii/schematu

Przetwarzanie danych

Bloczki