Crony
Naplánované HTTP požadavky spouštěné podle cron rozvrhu ve vašem projektu.
Úvod
Cron je naplánovaná úloha, kterou Futrou za vás spouští v pravidelných intervalech — sami nic nespouštíte ani neudržujete online. Každý cron patří k projektu, běží v konkrétním regionu a účtuje se podle vlastního plánu, stejně jako serverlet nebo volume.
Cron má typ, který určuje, co se stane, když se spustí:
- Simple (HTTP) — zavolá zadanou URL adresu zvolenou HTTP metodou, případně s hlavičkami a tělem požadavku. Hodí se na pravidelné pingy, webhooky nebo prohřívání cache u vašich serverletů či jiných koncových bodů.
- Code (JS) — místo volání URL spustí krátký JavaScript kód.
Při každém spuštění podle rozvrhu Futrou provede cron podle jeho typu a zaznamená výsledek.
Rozvrh
Rozvrh cronu je standardní 5polohový cron výraz: minuta hodina den měsíc den_v_týdnu, například 0 * * * * pro spuštění jednou za hodinu. Podporované jsou zástupné znaky (*), rozsahy (1-5), výčty (1,3,5) i krokové hodnoty (*/5), stejně jako v běžném crontab formátu.
Minimální interval je jednou za minutu — kroková hodnota menší než 1 v poli minut (např. */0) je odmítnutá, takže cron nelze naplánovat na častější spouštění než jednou za 60 sekund.
Plány
Každý cron běží na cron plánu — účtovací úrovni, stejný koncept jako plán serverletu. Pokud plán nezvolíte sami, cron se vytvoří na výchozím veřejném plánu. Cena se v administraci zobrazuje za minutu i jako odhad měsíčních nákladů, ještě než ji potvrdíte.
Region
Cron běží v konkrétním regionu, nebo ho můžete nechat na Auto a nechat Futrou, aby ho přiřadilo automaticky.
Vytvoření cronu
Při vytvoření cronu zadáváte název, rozvrh a pole podle zvoleného typu:
- Název — používá se v administraci.
- Rozvrh — cron výraz popsaný výše.
- Typ —
simple(HTTP) nebocode. - U Simple cronu: HTTP metoda a URL k zavolání. Hlavičky a tělo požadavku jsou volitelné.
- U Code cronu: kód v JavaScriptu, který se spustí.
- Zapnuto — jestli se cron podle rozvrhu skutečně spouští; vypnutý cron si drží konfiguraci, ale neběží.
Testování cronu
Než cron uložíte, můžete ho jednou spustit přes POST /crons/test a rovnou vidět výsledek bez vytvoření čehokoli nebo dopadu na rozvrh. Testovací endpoint validuje stejná pole jako vytvoření cronu, okamžitě ho spustí a vrátí výsledek — stav, výstup, dobu trvání a časy začátku a konce — aniž by se cron uložil. Testovací požadavky jsou rate-limitované podle IP, aby nedošlo k nechtěnému zahlcení cílové URL.
Úprava a smazání
Název, rozvrh, typ, cílová pole, region i zapnutý stav cronu lze po vytvoření kdykoliv změnit přes PATCH /crons/:cronId. Smazáním přes DELETE /crons/:cronId cron přestane běžet a zcela zmizí.
Vztah k projektům a serverletům
Crony patří k projektu jako každá jiná služba Futrou a běžně se používají k pravidelnému volání serverletu ve stejném projektu — například k pravidelnému zavolání endpointu /cron nebo /cleanup. Cron při vytvoření není vázaný na konkrétní serverlet — jednoduše volá URL a metodu, kterou nastavíte, ať už jde o veřejnou adresu serverletu, interní endpoint, nebo libovolnou externí URL.
Naposledy upraveno