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`.
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`.
- Crontab Generator – Jednoduché grafické rozhraní pro vytváření výrazů CRON.
- Crontab Online – Vhodné pro testování a ověřování správnosti výrazů.
- Cron Expression To Go – Užitečný nástroj pro vytváření běžných časových plánů, například „dvakrát denně“.
