Tworzenie pętli dla działania

Aby wielokrotnie uruchamiać zadanie czasu wykonywania będące wynikiem działania procesu, można utworzyć pętlę. W projektancie można tworzyć pętle proste i pętle wieloinstancowe.

Typy pętli

Pętle można tworzyć i implementować na kilka sposobów. Można na przykład dołączyć do usługi komponent skryptu, który iteracyjnie przetwarza wszystkie kolejne rekordy pobierane z bazy danych. Ponieważ skrypty w języku JavaScript można dołączać w każdym miejscu we wszystkich implementacjach, łatwo jest oprogramować logikę do powtarzania czynności do czasu przyjęcia przez pewien warunek wartości true (prawda).

Implementowanie pętli za pomocą skryptów nie jest jedyną możliwością. Działania procesu można skonfigurować w pętle proste i wieloinstancyjne w sposób opisany w poniższej tabeli. Aby doprowadzić do wielokrotnego uruchomienia zadania czasu wykonywania, będącego wynikiem działania, można skonfigurować realizację działania w pętli. Realizację działania pętli można skonfigurować tylko dla działań, które mają przychodzące lub wychodzące przepływy sekwencji.

Tabela 1. Typy pętli dostępne na potrzeby konfiguracji z pętlą
Typ pętli Opis
Pętla prosta Podczas modelowania działania w pętli prostej wymagane instancje są tworzone dynamicznie, a ich liczba jest równa podanej maksymalnej liczbie wykonań pętli. Działanie realizowane w pętli prostej jest uruchamiane sekwencyjnie do momentu uruchomienia ostatniej jego instancji. Podczas wykonywania działania skonfigurowanego na potrzeby pętli prostej generowany jest pojedynczy znacznik, który jest używany dla każdej instancji działania, co w rezultacie prowadzi do wielokrotnego przetworzenia zadania czasu wykonywania.
Pętla wieloinstancyjna Pętla wieloinstancyjna umożliwia dynamiczne wykonywanie wielu unikalnych instancji tego samego działania (sekwencyjnie lub równolegle). Podczas wykonywania działania skonfigurowanego na potrzeby pętli wieloinstancyjnych dla każdej instancji działania tworzony jest unikalny znacznik.

Wydajność

Pętle proste i wieloinstancyjne tworzą zadania z pewnej liczby kroków w działaniu aż do osiągnięcia maksymalnej liczby podanej w konfiguracji. Pętle nie zostały zaprojektowane pod kątem obsługi wysyłania i przeglądania setek zadań lub dużych zestawów zmiennych. Są one raczej zaprojektowane pod kątem niewielkiej liczby zadań, zazwyczaj mniejszej niż 10. Większa liczba zadań może znacząco zmniejszyć wydajność przetwarzania. W związku z tym maksymalną liczbę pętli zaleca się ustawić na wartość mniejszą niż 10. Jeśli na przykład w przypadku zadania zatwierdzania zatrudnienia kandydat musi zostać zatwierdzony przez trzy z pięciu osób przeprowadzających rozmowę kwalifikacyjną, zadanie zatwierdzania należy skonfigurować w taki sposób, aby było wykonywane w pętli o pięciu iteracjach. W takim przypadku system utworzy pięć zadań. Po zatwierdzeniu kandydata przez trzy osoby przeprowadzające rozmowę kwalifikacyjną pozostałe dwa zadania są zamykane i jest rozpoczynany następny krok działania.

W przypadkach, w których potrzebne jest powtórzenie w pętli ponad 10 zadań, należy utworzyć scenariusz testowy obciążenia i przetestować, czy pętla działa dla projektu danej aplikacji. Jeśli pętla działa wolniej niż oczekiwano, może być potrzebna odpowiednia zmiana aplikacji. Jeśli na przykład pętla zadań jest procesem z wieloma krokami i formatkami (a nie tylko z jednym lub jedną), warto rozważyć zastosowanie następującego podejścia: można użyć agenta UCA, aby wywołać początkowe zdarzenie komunikatu, co pozwoli na utworzenie w tym punkcie większej liczby instancji pokrewnych pracujących równolegle z instancją nadrzędną, ale w różnych wątkach. W ten sposób wąskie gardło zostanie przeniesione z jednego wątku na jednym serwerze na wiele wątków (M) w wielu węzłach (N).