====== Definování časových plánů pomocí syntaxe CRON ====== V systému Mervis je často potřeba plánovat opakovaně spouštěné automatizované úlohy – například určit, jak často bude **DataNode** komunikovat s externím API nebo databází. K definování těchto přesných časových plánů používá Mervis standardní **syntaxi CRON**. Nejčastěji se s ní setkáte ve **vlastnostech typu DataNode** v poli **`CommTaskCron`**. {{:en:mervis-scada:30-portal:datanode-cron.png?direct&800|Příklad pole CommTaskCron u DataNode}} ===== Struktura výrazu CRON ===== Výraz CRON je textový řetězec složený z **pěti polí**, která jsou oddělena mezerami. Každé pole představuje určitou časovou jednotku. Standardní formát je: * * * * * Jednotlivá pole zleva doprava představují: * **Minuta** (0–59) * **Hodina** (0–23) * **Den v měsíci** (1–31) * **Měsíc** (1–12) * **Den v týdnu** (0–7, kde hodnoty 0 i 7 představují neděli) ===== Speciální znaky ===== Pro vytváření flexibilních časových plánů můžete v jednotlivých polích použít následující speciální znaky: * **`*` (hvězdička):** Představuje „každou“ nebo „libovolnou“ hodnotu. Pokud je hvězdička uvedena v poli Hodina, znamená to „každou hodinu“. * **`/` (lomítko):** Slouží k určení intervalu (kroku). Například `*/15` v poli Minuta znamená „každých 15 minut“. * **`-` (pomlčka):** Definuje rozsah hodnot. Například `9-17` v poli Hodina znamená „každou hodinu od 9:00 do 17:00“. * **`,` (čárka):** Slouží k oddělení jednotlivých hodnot v seznamu. Například `1,3,5` v poli Den v týdnu znamená „v pondělí, ve středu a v pátek“. ===== Běžné příklady výrazů CRON ===== Níže naleznete přehled nejčastěji používaných výrazů CRON pro komunikaci DataNode a další automatizované úlohy: ^ Výraz CRON ^ Popis / Časový plán ^ | **`0 */6 * * *`** | **Každých 6 hodin** (v 0. minutě). //(Jedná se o příklad zobrazený na obrázku výše.)// | | `* * * * *` | **Každou minutu**. | | `*/5 * * * *` | **Každých 5 minut**. | | `*/15 * * * *` | **Každých 15 minut**. | | `0 * * * *` | **Každou hodinu**, vždy v 0. minutě. | | `30 * * * *` | **Každou hodinu**, vždy ve 30. minutě. | | `0 0 * * *` | **Každý den o půlnoci** (00:00). | | `30 8 * * *` | **Každý den v 8:30**. | | `0 8-18 * * *` | **Každou hodinu mezi 8:00 a 18:00**. | | `0 8 * * 1-5` | **Každý pracovní den (pondělí až pátek) v 8:00**. | | `0 0 * * 0` | **Každou neděli o půlnoci**. | | `0 0 1 * *` | **První den každého měsíce o půlnoci**. | > **Důležité upozornění:** Při zápisu výrazů CRON věnujte pozornost mezerám mezi jednotlivými poli. Chybějící nebo přebytečná mezera způsobí, že nebude možné časový plán správně zpracovat. ===== Potřebujete pomoci s vytvořením časového plánu? ===== Pokud se vám syntaxe CRON zdá složitá, můžete využít některý z následujících online nástrojů, které za vás vytvoří správný výraz. Stačí v nich nastavit požadovaný časový plán a výsledný výraz zkopírovat do pole `CommTaskCron`. * [[https://crontab-generator.org/|Crontab Generator]] – Jednoduché grafické rozhraní pro vytváření výrazů CRON. * [[https://crontab.online/|Crontab Online]] – Vhodné pro testování a ověřování správnosti výrazů. * [[https://cronexpressiontogo.com/|Cron Expression To Go]] – Užitečný nástroj pro vytváření běžných časových plánů, například „dvakrát denně“.