1. Úvod
V rámci platformy Flexideo existují dva hlavní mechanismy, které umožňují opakované spouštění akcí:
Cyklovač – automaticky plánuje opakování akce na základě podmínek vyhodnocených v jejím průběhu.

Terminace ( act:termination) – umožňuje naplánovat jednorázové opakování akce po jejím dokončení, s přesnou kontrolou nad opakováním.
2. Cyklovač
2.1 Princip funkce
Cyklovač je krok ( act:injector), který lze umístit do jakékoli fáze serverové akce (tedy akce typu server service).Není možné jej použít v akcích určených pouze pro intranet. Cyklovač lze ve stejné akci použít pouze jednou.
Umístění cyklovače v rámci akce určuje jeho chování:

Na začátku akce – podmínka se vyhodnocuje ještě před samotným spuštěním.

Pokud je splněna, naplánuje se opakované provádění akce.

Úloha zůstává aktivní, dokud se podmínka nestane neplatnou.

Uprostřed nebo na konci akce – všechny předchozí fáze akce se provedou vždy, bez ohledu na výsledek podmínky.

Typické v případech, kdy má akce nejprve zpracovat data a teprve poté rozhodnout, zda naplánuje další průchod.
2.2 Chování při chybě
Pokud je cyklovač umístěn na začátku akce, úloha se naplánuje ihned po prvním spuštění.Došlo-li později v průběhu akce k chybě, akce se znovu spustí – což může vést k opakovaným chybným průchodům. Pro zabránění nekonečného cyklu se používá omezovač cyklovače, který umožňuje definovat maximální počet provedených cyklů (např. 100).
Po dosažení limitu se úloha automaticky ukončí a odebere ze serveru.
3. Terminace (uzel act:termination)
3.1 Princip terminace
Terminace se vždy nachází na konci fáze a umožňuje naplánovat jedno jediné další spuštění stejné akce.Každá fáze akce může mít vlastní terminaci. Pokud dojde k chybě před terminací, nové spuštění se již nenaplánuje – čímž se předejde nekonečnému opakování chybné akce.
3.2 Výhody oproti cyklovači

Terminace zaručuje jednoznačné ukončení cyklu při chybě.

Umožňuje naplánovat další běh akce s odstupem (např. 10 sekund, 1 minuta apod.).

Může při dalším spuštění předat jiný PDK list nebo jiné parametry podle logiky akce.
4. Kombinace s plánovačem (schedulerem)
Plánovač umožňuje spouštět akce v pravidelných intervalech – například jednou denně nebo týdně.Lze jej kombinovat s cyklovačem i terminací. Typický scénář:

Plánovač spouští akci jednou denně.

Akce obsahuje cyklovač, který průběžně zpracovává větší objem dat, dokud se tabulka nevyprázdní.

Po splnění podmínky cyklovač akci ukončí a čeká se na další spuštění plánovačem.
5. PDK list (vstupní seznam klíčů)
5.1 Povinný PDK list
Povinný PDK list definuje přesně, s jakými záznamy má akce pracovat.Pokud je PDK list povinný, nelze akci spouštět plánovačem, protože plánovač nedokáže takový seznam dodat. Typicky se používá pro přesné, ručně vybrané záznamy (např. konkrétní kontakty, objednávky, položky).
5.2 Volitelný PDK list
Pokud má akce PDK list volitelný, je možné:
akci spouštět i bez PDK listu (např. plánovačem),

nebo naopak ručně (uživatelem či procesem) se specifickými záznamy.
5.3 PDK list v cyklovači a terminaci

Cyklovač opakovaně spouští akci s původním PDK listem, který byl zadán při jejím prvním běhu.

Terminace může při plánování dalšího běhu změnit PDK list – např. podle aktuálních dat či výsledků předchozí fáze.
6. Automatické spouštění pomocí procesních uzlů
Každá akce má svůj číselný identifikátor, který může být využit v procesních uzlech pro automatické spuštění.Při uložení dokumentů do procesu se jejich identifikátory předají jako PDK list do akce. Příklad:

Uložením pěti kontaktů s číslem procesu se spustí akce s PDK listem těchto pěti kontaktů.

Akce zpracuje pouze tyto položky a končí.

Následné pravidelné spuštění (např. denní) zkontroluje, zda v systému nejsou nové položky ke zpracování.
7. Doporučení pro návrh akcí

Podmínky v cyklovači či terminaci musí být logicky svázány s hlavním zdrojem dat (např. hlavní tabulkou).

Je třeba zajistit, aby akce odbavovala data postupně, až do vyprázdnění zdroje.

Správné ukončení akce je klíčové pro stabilitu systému – nesmí docházet k nekonečnému opakování.

U cyklovače s omezovačem vždy testujte, že chyba v akci nezpůsobí zahlcení plánovače.
8. Shrnutí
| Mechanismus | Typ opakování | Reakce na chybu | Možnost měnit PDK | Vhodné pro |
|---|---|---|---|---|
| Cyklovač | Pravidelný průchod, dokud je podmínka splněna | Opakuje se i při chybě, nutný omezovač | Ne | dlouhé dávkové zpracování |
| Terminace | Jednorázové opakování po fázi | Při chybě se zastaví | Ano | řízené následné spuštění |
| Plánovač | Podle intervalu (denní, hodinový) | Nezávislý na výsledku akce | Pouze s volitelným PDK | pravidelné kontroly a dávky |