Přeskočit obsah
A
Pro administrátory
Obsluha administrace — obsah, uživatelé, e-shop, fakturace a nastavení
Systém / Plánovač úloh (cron)

Plánovač úloh (cron)#

Web si sám dělá spoustu věcí na pozadí: odesílá e-maily z fronty, uklízí staré záznamy, generuje mapy webu, hlídá lhůty objednávek a reklamací, upozorňuje na končící inzeráty. Aby to fungovalo, musí je někdo ve správný čas spustit. Tuhle práci dělá plánovač: na hostingu zadáte jedinou adresu, a plánovač už sám pozná, která úloha je právě na řadě.

Nastavení najdete v Nastavení → Cron (odkaz Nastavení úplně dole v levém sloupci, viz Nastavení).

Zapojení na hostingu (jednou)#

Na hostingu — například v ISPConfigu v části Cron jobs — zadejte jednu úlohu, která se spouští každých 5 minut a otevře adresu plánovače:

https://vas-web.cz/cron/system/scheduler/run?token=VÁŠ_TOKEN

V ISPConfigu vyplňte pole takto:

Pole Hodnota
Minuty */5
Hodiny, Dny v měsíci, Měsíce, Dny v týdnu *
Příkaz curl -s "https://vas-web.cz/cron/system/scheduler/run?token=VÁŠ_TOKEN" > /dev/null

Adresa, kterou má hosting volat, je vypsaná nahoře na obrazovce Nastavení → Cron (token se tam z bezpečnostních důvodů nezobrazuje, na jeho místě je …).

Stačí jedna adresa a nic dalšího

Další úlohy už na hostingu zadávat nemusíte, ani když později přibudou nové. Nové úlohy se v seznamu objeví samy. Kdyby hosting dovolil jen volání méně často (např. po 15 minutách), plánovač funguje také — úlohy se pak jen spouštějí s odpovídajícím zpožděním.

Kde vzít a jak změnit token#

Token je tajný řetězec, kterým se úlohy prokazují (bez něj web nic nespustí). Najdete ho v Nastavení → Nastavení webu, sekce Cron. Po jeho změně upravte adresu i na hostingu, jinak plánovač začne dostávat odmítnutí. Token nikde nezveřejňujte.

Seznam úloh#

Úlohy jsou seskupené podle modulů (Systém, Inzerce, Blog, E-shop…). Zobrazují se jen úlohy modulů, které jsou na webu zapnuté — web bez Inzerce nezobrazí ani nespouští úlohy inzerce. Pokud modul později zapnete, jeho úlohy se objeví samy s výchozím nastavením. Úlohy modulu Systém jsou vždy.

U každé úlohy vidíte:

Sloupec Co znamená
Úloha stručný popis; pod ním adresa úlohy. Štítek odchozí viz níže
Frekvence jak často se úloha spouští (např. „každých 15 min“, „denně v 03:30“, „jen ručně“)
Zapnuto tlačítkem úlohu zapnete nebo vypnete; vypnutá úloha se neplánuje
Poslední běh kdy naposledy proběhla a jak (v pořádku, chyba, přeskočeno) + zkrácená odpověď
Akce Upravit (frekvence) a Spustit teď

Změna frekvence#

Klikněte na Upravit u úlohy. Frekvenci vybíráte z jednoduchých možností, žádné „hvězdičky“ znát nemusíte:

Typ Co zadáte
každých N minut počet minut (1–1440)
denně čas ve tvaru 03:30
týdně den v týdnu a čas
měsíčně den v měsíci (1–31) a čas; v kratším měsíci se použije poslední den
jen ručně úloha se sama nespouští, jen tlačítkem Spustit teď

Čas se řídí časovou zónou webu. Úloha, která kvůli výpadku neběžela, se po obnovení spustí jednou (ne za každý zmeškaný termín).

Odchozí úlohy#

Úloha je odchozí, když má dopad mimo web: posílá e-maily nebo SMS, vystavuje doklady, maže nebo anonymizuje data uživatelů nebo volá platební brány. Příklady: odesílání fronty e-mailů, upozornění na končící inzeráty, hlídací psi, vystavování faktur, zrušení nezaplacených objednávek, anonymizace zrušených účtů.

Odchozí úlohy jsou zprvu vypnuté

Když se odchozí úloha poprvé objeví, je vypnutá. Zapnete ji vědomě, až když web opravdu ostře běží. Díky tomu se na zkušebním nebo vývojovém webu omylem nic nerozešle. Ostatní úlohy (úklid, mapy webu, přepočty) se zapnou samy.

Spustit teď#

Tlačítko Spustit teď provede úlohu okamžitě, mimo rozvrh — stejně, jako by ji zavolal plánovač. Výsledek uvidíte v hlášce nahoře (v pořádku / chyba / už běží) a ve sloupci Poslední běh. U odchozí úlohy se nejdřív zeptá na potvrzení, protože odešle e-maily nebo vystaví doklady doopravdy. Tlačítko funguje i u vypnuté úlohy.

Co když úloha skončí chybou?

Úloha, která skončí chybou nebo nestihne doběhnout, dostane stav chyba a plánovač ji zkusí znovu až v dalším termínu podle její frekvence (ne každých 5 minut dokola). Hned ji můžete zkusit tlačítkem Spustit teď.

Úloha, která pokračuje (reindex hledání)#

Plné přeindexování vyhledávání (úlohy Úplné přeindexování vyhledávání u inzerátů, firemních profilů a článků) se u větších webů nestihne v jednom volání, proto běží po částech. Spustit teď může v takovém případě odpovědět stavem přeskočeno s důvodem „reindex pokračuje“ — nejde o chybu, práce běží a plánovač ji při dalších voláních sám dokončí. Hotovo je, když úloha místo „přeskočeno“ ohlásí výsledek. Nové vyhledávání se na web přepne až po poslední části; dokud reindex běží, hledá se ve starém.

Reindex nechte na plánovači

Neklikejte na Spustit teď dokola. Stačí, aby plánovač běžel každých 5 minut — jednotlivé části naváže sám.

Selhávající položka#

Mnoho úloh zpracovává frontu položek — expirace objednávek a reklamací, doklady z plateb a dohánění dokladů, rozvrh faktur, upozornění na expiraci inzerátů a firem. Když se jedna položka nepovede zpracovat, nezablokuje ostatní: plánovač ji přeskočí a zkusí ji znovu s rostoucím odstupem — po 1 minutě, 5 minutách, 30 minutách, 2 hodinách a dál jednou za 24 hodin. Zdravé položky mezitím jdou normálně dál.

Po pěti neúspěšných pokusech za sebou dostanou správci notifikaci Úloha cronu opakovaně selhává s odkazem na Nastavení → Cron. Notifikace vznikne jedna za celou frontu, ne za každou položku. E-mailové adresy v textu chyby (například při selhání odeslání pošty) jsou zamaskované. Položku, která dál selhává, je třeba prověřit ručně (chybějící údaj, nedostupná služba, chybně nastavený prodejce…). Jakmile se položku podaří zpracovat, evidence selhání zmizí a notifikace se při dalším úklidu osiřelých notifikací sama smaže.

Úklidové úlohy#

Úlohy, které mažou staré záznamy, běží zpravidla jednou denně. Tři z nich mají nastavitelnou dobu uchování:

Úloha Co maže Kde nastavit Výchozí
Úklid starých přečtených upozornění v administraci přečtené notifikace; nepřečtené zůstávají Nastavení → Nastavení webu, sekce Cron: Uchovat přečtené notifikace (dny) 90 dní
Hlídací pes: úklid fronty (inzerce, katalog firem) odeslané a zrušené záznamy fronty e-mailů hlídacích psů; čekající záznamy se nemažou Inzerce → Nastavení / Katalog firem → Nastavení, záložka Hlídací psi: Mazat zpracovanou frontu po (dnech) 90 dní
Úklid komunikace s platební bránou starší záznamy záložky Komunikace s bránou u plateb; platby a transakce zůstávají Nastavení → Nastavení webu, sekce Cron: Uchovat komunikaci s platební bránou (dny) 365 dní

Všechny tři úlohy jsou běžné (ne odchozí), takže se zapnou samy.

Načíst úlohy#

Tlačítko Načíst úlohy doplní do seznamu úlohy, které tam ještě nejsou. Normálně to dělá plánovač sám při každém volání; tlačítko se hodí hlavně u čerstvé instalace, než se plánovač poprvé zavolá, nebo po aktualizaci webu.

Plánovač se nevolá — co s tím#

Nahoře na obrazovce je stav: „Plánovač byl naposledy volán před N min“. Když je žlutý (nevolá se už N min nebo zatím nikdy nezavolal), hosting plánovač nespouští. Zkontrolujte:

  1. Je úloha na hostingu zadaná a běží každých 5 minut? V ISPConfigu zkontrolujte, že je zapnutá a že nemá chybu v adrese.
  2. Souhlasí token? Chybný nebo prázdný token vrací chybu 403 a úlohy neběží. Porovnejte token v adrese s tokenem v Nastavení webu → Cron.
  3. Adresa odpovídá? Otevřete ji v prohlížeči. Správně dostanete krátkou odpověď se "status":"ok" a počtem spuštěných úloh.
  4. Hosting nedovoluje volat vlastní adresu? Plánovač volá jednotlivé úlohy na adrese webu. Pokud je takové volání na hostingu zablokované, úlohy skončí stavem chyba — pak požádejte podporu hostingu o povolení, nebo zadejte úlohy po jedné (viz níže).
  5. Je modul zapnutý? Úlohy vypnutého modulu se nezobrazují ani nespouštějí.

Dosavadní jednotlivé adresy fungují dál

Kdo má úlohy na hostingu zadané po jedné (/cron/…?token=…), nemusí nic měnit. Pokud úlohu voláte zvenčí, v plánovači ji vypněte, aby neběžela dvakrát.

Co plánovač nedělá#

  • nespouští úlohy souběžně — jednu po druhé, v jednom volání nejvýš zhruba 45 sekund; co se nestihne, vezme další volání;
  • nezapisuje nic do nastavení serveru — adresu na hostingu zadáte jednou sami;
  • nepoužívá zápis typu */5 * * * * — frekvence se vybírá z jednoduchých možností.

Nastavení cookies