Wyzwalacze zdarzeń

Nastawiona pułapka z przynętą

Sposób uruchamiania przepływu decyduje o jego szybkości i o koszcie. To pierwsza decyzja przy budowie.

Powiadomienie ze zdarzenia

System sam informuje o zmianie. Najszybsze i najtańsze, wymaga jednak wsparcia po stronie źródła — system musi umieć wysłać takie powiadomienie, a platforma musi mieć adres, pod którym je odbierze. Wiele programów używanych w polskich firmach tego nie potrafi, zwłaszcza tych instalowanych lokalnie.

Powiadomienie bywa zawodne: wysłane raz, może nie dojść. Dlatego przy operacjach ważnych warto mieć drugi mechanizm, który okresowo dobiera to, co przepadło.

Odpytywanie cykliczne

Sprawdzanie co określony czas. Działa wszędzie i kosztuje przy każdym sprawdzeniu, także gdy nic się nie zmieniło. Odpytywanie wymaga znacznika — daty modyfikacji albo identyfikatora ostatniego pobranego rekordu — inaczej przepływ pobiera w kółko to samo.

Pułapka jest przy dacie modyfikacji: rekord zmieniony w trakcie pobierania potrafi zostać pominięty, a rekord zapisany dwa razy w tej samej sekundzie — obsłużony podwójnie. Bezpieczniej pobierać z lekkim zapasem czasu i zabezpieczyć zapis przed powtórzeniem.

Częstotliwość

Dobrana do rzeczywistej potrzeby. Sprawdzanie co minutę tego, co zmienia się raz dziennie, to zużycie operacji bez żadnej wartości: platforma nalicza każde sprawdzenie niezależnie od tego, czy coś znalazła. Pytanie brzmi, ile opóźnienia proces naprawdę toleruje. Zamówienie do magazynu — niewiele. Zestawienie dla księgowości — cały dzień. Zależność między częstotliwością a rachunkiem opisuje tekst o rozliczeniu za operacje.

Harmonogram

Dla zadań okresowych: zestawień, porządkowania, wysyłek. Prosty i przewidywalny. Warto ustawić go poza godzinami największego obciążenia systemów i pamiętać o strefie czasowej, w której platforma liczy godziny — bywa inna niż firmowa.

Uruchomienie ręczne

Przydatne przy sprawdzaniu i przy przypadkach wyjątkowych. Warto je zostawić nawet w przepływach automatycznych. Daje możliwość dokończenia pojedynczej sprawy, gdy automatyczne uruchomienie przepadło, bez czekania na następny cykl. Warto przy tym przewidzieć pole na identyfikator rekordu, żeby dało się wskazać konkretny dokument, a nie przetwarzać całej partii od nowa.

Wielokrotne wyzwolenie

To samo zdarzenie może uruchomić przepływ dwa razy — przy powtórzonym powiadomieniu, przy ponowieniu po błędzie, przy dwóch zapisach rekordu pod rząd. Zabezpieczenie przed powtórzeniem jest konieczne przy operacjach zapisujących, inaczej powstają zdublowane dokumenty.

Najprostszy mechanizm to sprawdzenie przed zapisem, czy dokument o danym numerze źródłowym już istnieje. Drugi sposób to znacznik ustawiany w systemie źródłowym po obsłużeniu rekordu. Skutki braku takiego zabezpieczenia opisuje tekst o obsłudze błędów w przepływach.

Gdy zdarzeń jest za dużo naraz

Import, migracja albo szczyt sezonu potrafią wygenerować falę zdarzeń w krótkim czasie. Wyzwalacz przyjmie wszystkie, a wykonanie utknie na ograniczeniach systemu docelowego. Wtedy lepiej sprawdza się jedno uruchomienie przetwarzające partię rekordów niż osobne uruchomienie na każdy z nich. Granice po obu stronach opisuje tekst o wydajności i limitach.