Jetstack
Zpět na blog Blog

Naplánujte cokoli na později – odložená a opakující se práce rovnou v platformě

Publikováno 1. července 2026

Technická ilustrace k článku Jetstacku

Většina toho, co software dělá, se odehraje ve chvíli, kdy o to někdo požádá: kliknete na tlačítko a máte výsledek. Překvapivě velká část skutečné práce ale takhle nevypadá. Připomínka má odejít tři dny po vytvoření záznamu, ne hned. Přehled se má rozeslat každé ráno. Srovnávací rutina má tiše proběhnout každou hodinu. Kampaň má lidem v určitém rytmu připomínat a pak sama skončit. To je práce s časovým rozměrem – a potřebuje existovat někde jinde než jen tam, kde se na obrazovku zrovna někdo dívá.

Přesně tímhle místem je plánovač platformy a postupně se z něj stal pohodlný způsob, jak naplánovat práci na později. Odložit můžete téměř cokoli – jednorázově i opakovaně – a hlavně to naplánovat buď ručně, nebo rovnou z vlastních automatizací a kódu.

Tři druhy naplánované práce

Naplánovaná úloha teď může spustit kteroukoli ze tří věcí a všechny sdílejí stejné časování, opakování i protokolování – liší se jen samotná práce:

Automatizaci – cesta přátelská k tvůrci, kdy logika už žije v automatizaci, kterou jste navrhli, a plánovač jen rozhoduje, kdy se spustí. Route ve vlastní aplikaci – pojmenovaná obsluha dodaná uvnitř některé z vašich vlastních aplikací, ideální pro úlohy, jejichž logika patří k aplikaci, a ne do samostatné automatizace. Nebo malý úryvek kódu – pro jednorázové odložené lepidlo, které nemá cenu nasazovat jako vlastní pojmenovanou route. Ať zvolíte cokoli, plánovač s tím zachází stejně: drží časování a odkaz na práci a ve správnou chvíli ji spustí.

Jednou, nebo opakovaně

Nejjednodušší úloha je jednorázová: udělej tuhle věc v tenhle budoucí čas. Odtud je k opakování jen kousek – opakuj každý den, každou hodinu, každý týden – a platforma dbá na to, aby se každé další spuštění počítalo z naplánovaného času, ne z okamžiku, kdy zrovna proběhl vykonavatel; denní úloha v 9:00 tak zůstává na 9:00 a neujíždí. Opakující se úloze můžete dát i koncovou hranici, takže časově omezená kampaň nebo dočasná údržbová smyčka sama vyprší, místo aby někdo musel pamatovat na její vypnutí.

Naplánujte z obrazovky – nebo z vlastního kódu

Dvě publika, jeden plánovač. Operátor vytvoří úlohu přímo v obrazovce plánovače: zvolí druh práce, nasměruje ji na cíl, přidá případné argumenty v podobě JSON, nastaví čas a opakování a rozhodne, jestli vést protokol. To se skvěle hodí pro příležitostné plánování, testování i opakující se úlohy spravované operátorem.

Stejně důležité je, že tentýž plánovač je dostupný i z vašich automatizací a kódu. Běžící proces může navazující práci naplánovat programově – předá jí výslovný balíček argumentů, aby si odložené spuštění pamatovalo přesný kontext, který potřebuje. Právě díky tomu jdou automatizace opravdu plánovat: automatizace může zareagovat teď a zároveň zařídit, aby se něco stalo později – připomínku navázanou na konkrétní záznam, časový limit s údaji pro eskalaci, přehled pro určité publikum – aniž by cokoli z toho záviselo na tom, že u toho ve správnou chvíli bude někdo přítomen.

Běží pod správnou identitou a s protokolem, když ho chcete

Odložená práce musí i nadále respektovat, kdo co smí. Naplánované route ve vlastních aplikacích i kód běží jako uživatel, který je naplánoval, s plně aktivním řízením přístupu – úloha se tak dostane přesně k těm datům, na která měl její plánovač právo, a k ničemu dalšímu. Každá úloha může volitelně zaznamenávat každé spuštění do protokolu, který budete chtít mít zapnutý u úloh zásadních pro provoz a vypnutý u těch častých a hlučných. A zařazené spuštění není vytesané do kamene: jedno nadcházející spuštění můžete přeskočit, aniž byste rozebrali celý opakovaný rozvrh, nebo úlohu rovnou zrušit.

Proč na tom záleží

Práce závislá na čase dřív znamenala sáhnout mimo platformu – externí cron server, samostatný plánovač, další pohyblivou součástku, kterou je potřeba provozovat a zabezpečit. Teď je zabudovaná a pokrývá celou škálu: jednořádkové zdržení, opakovanou úlohu i celou konečnou kampaň, mířící na automatizaci, na route ve vlastní aplikaci nebo na úryvek kódu, naplánovanou operátorem nebo jiným procesem. Mění to „tohle se má stát později“ z otázky integrace na jediné pole u úlohy.

Do zbytku platformy to zapadá přirozeně: automatizace, které už máte hotové, se stávají něčím, co jde naplánovat, ne jen spustit; route ve vlastních aplikacích dostávají časovač a dlouho běžící procesy si mohou zařídit vlastní navazující práci. Práce přestává být vázaná na okamžik, kdy se objeví uživatel – a začíná se dít přesně tehdy, kdy má.