W tym artykule omówimy sobie coś prostego, ale niekoniecznie oczywistego, mianowicie równoległą obsługę zatwierdzeń potocznie zwanych approvalami.
Weźmy na tapet taki case: Organizujemy wegańską imprezę firmową 🙂
- Z ankiet pracowniczych zebraliśmy bazę owoców.
- Musimy przesłać je do osoby decydującej o zakupie, która wykluczy część owoców (np. znając więcej uwarunkowań – alergie uczestników imprezy, budżet itp.)
- Docelowo otrzymamy listę tylko zaakceptowanych owoców.
Nas interesuje etap samych Approvali.
Dla potrzeb testu zadeklarowaliśmy sobie zmienną tablicową z 3-eam owocami, a następnie tworzymy approvala dla każdego elementu tablicy w pętli „Apply to each”:
Uruchamiając przepływ w taki sposób uzyskamy efekt taki, że:
- Zostanie uruchomiony pierwszy approval.
- Decydent otrzyma prośbę o decyzję:
3. Przepływ zatrzyma się i dopiero po podjęciu decyzji przejdzie do kolejnego elementu ponownie wysyłając maila.
Chcemy uzyskać efekt taki, żeby wszystkie zatwierdzenia zostały wysłane równolegle, aby decydent mógł np. podjąć decyzje od razu w kwestiach oczywistych a do reszty zatwierdzeń odnieść się w późniejszym terminie.
Rozwiązanie:
Musimy tak naprawdę zmienić jedynie ustawienia pętli „Apply to each” jak na poniższym zrzucie:
Włączamy opcję „Concurrency Control” oraz suwakiem możemy wyznaczyć maksymalną ilość równoległych procesów do 50.
Musimy pamiętać o tym limicie chcąc zastosować tego typu rozwiązanie w innych przypadkach, które być może będą przekraczały taką ilość elementów.
Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.