Konfigurowanie działania na potrzeby pętli wieloinstancyjnych
Pętle obejmujące wiele instancji umożliwiają dynamiczne uruchamianie 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.
Procedura
Aby skonfigurować działanie na potrzeby pętli wieloinstancyjnej, należy wykonać poniższe kroki.
- Otwórz proces i wybierz działanie do skonfigurowania.
- W obszarze właściwości wybierz opcję Ogólne.
- W obszarze Zachowanie wybierz opcję Pętla wieloinstancyjna z listy Typ pętli.
- Poniżej etykiety Pętla wieloinstancyjna ustaw wartość Początkowa liczba. Ta wartość określa liczbę instancji tworzonych w czasie wykonywania. Aby podać zmienną, której można użyć na potrzeby
tego ustawienia, należy kliknąć ikonę zmiennej w celu jej wybrania lub wpisać w polu Początkowa
liczba nazwę tej zmiennej.
Uwaga: Informacje o sposobach wiązania poszczególnych instancji działania pętli z konkretnymi pozycjami na liście zawiera sekcja Wiązanie instancji działania pętli z różnymi pozycjami.
- Wybierz z listy Porządkowanie jedną z następujących opcji:
Opcja Opis Uruchom sekwencyjnie Wynikowe instancje są uruchamiane sekwencyjnie do momentu zakończenia ostatniej instancji działania. Uruchom równolegle Wynikowe instancje są uruchamiane w tym samym czasie do momentu zakończenia wszystkich instancji lub do momentu spełnienia określonego warunku. - W przypadku uporządkowania równoległego wybierz z listy Warunek
przepływu jedną z następujących opcji:
Opcja Opis Czekaj na zakończenie wszystkich (wszystko) Wykonywanie pętli jest kontynuowane do momentu zakończenia wszystkich wynikowych instancji działania. Oczekiwanie warunkowe (złożone) Wykonywanie pętli jest kontynuowane do momentu spełnienia warunku określonego w poniższym kroku. - W przypadku złożonych warunków przepływu wpisz w polu Złożony
warunek przepływu skrypt w języku JavaScript implementujący ten
warunek.
Jeśli w czasie wykonywania pętli wieloinstancyjnej z użyciem złożonych warunków przyjmie ona wartość false, zamknie ona aktywną instancję i nie przejdzie do następnego działania. Jest to domyślny sposób działania od specyfikacji BPMN 2.0 (sekcja 13.2.7 Sposób działania wielu instancji): nie należy określać wytycznych w przypadku przyjęcia wartości false. Aby znacznik przeszedł do następnego działania, należy użyć wyrażenia boolowskiego OR.
- Aby anulować aktywne instancje działania, gdy jest spełniony podany powyżej warunek,
zaznacz pole wyboru Anuluj pozostałe instancje.
Zachowanie w czasie wykonywania pętli wieloinstancyjnej zależy od sposobu implementacji jej zadania. Zachowanie jest inne w przypadku, gdy treść zadania zawiera wyłącznie skrypty serwera, a inne, gdy zawiera ona również usługi. Na przykład pętla z opcją Porządkowanie ustawioną na wartość Uruchom równolegle, z poprawnym warunkiem złożonym przepływu i z opcją Anuluj pozostałe instancje ustawioną na wartość true działa w następujący sposób:
- Treść pętli zawiera wyłącznie skrypty serwera: jeśli w treści zadania pętli wieloinstancyjnej zostaną podane wyłącznie skrypty serwera, różne instancje pętli będą uruchamiane sekwencyjnie. Oznacza to, że wszystkie instancje będą działać do końca w sekwencji, a na zakończenie wszystkich instancji zadań kolejno będą weryfikowane warunki wyjścia.
- Treść pętli obejmuje usługi personelu, usługi decyzyjne i usługi systemowe: jeśli treść zadania pętli zawiera usługę personelu, usługę decyzyjną lub usługę systemową, instancje zadań będą tworzone równolegle we własnym wątku. W przykładowej usłudze systemowej, po ustawieniu warunku wyjścia i zakończeniu zadania usługi systemowej, wynik zostanie zwrócony do pętli wieloinstancyjnej. Następnie, warunek będzie wartościowany, a zadanie pętli wieloinstancyjnej zostanie zakończone, co zakończy wszystkie inne, nadal działające instancje pętli.
- Kliknij opcję Zapisz lub Zakończ edytowanie.