Spuštění Cron.php

Spuštění Cron.php

autor David Frýbert -
Počet odpovědí: 6

Zdravím, kolegové,

nedávno se mi při testování manuálního spuštění cronu skrze adresu mujmoodle.cz/admin/cron.php objevuje hláška 

!! Při čekání na uzamčení vypršel časový limit operace. !!!
A nic se tedy následně nespustí. 

Nestalo se Vám to někdy a nevíte kde může být problém? Na jiné instancí Moodle u stejného providera jede vše bez problému. 

Diky

Počet hodnocení: -
V odpovědi na David Frýbert

Re: Spuštění Cron.php

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři

Zkontroluj si protokoly naplánovaných úloh (Správa stránek > Server > Úlohy > Protokoly úloh). Cron normálně jede? Dostaneš tuto hlášku pokaždé, když cron spustíš ručně, nebo se to stalo ojediněle? Co máš dole na stránce Správa stránek > Moduly > Ukládání do vyrovnávací paměti > Konfigurace nastaveno v sekci "Souhrn instancí zámku vyrovnávací paměti"?

V odpovědi na David Mudrák

Re: Spuštění Cron.php

autor David Frýbert -
Zdravím, Davide,
koukal jsem a vypadá to dobře viz příloha, tedy aspon doufamúsměv Z hostingu mi psali, že je to délkou celého cronu, kde bylo nastavení po 2 minutách a nestihlo se to, prý, zpracovat. Pokud to chci spustit ručně, tak se to právě děje pokaždé. Z podpory poslali take screen viz příloha vypisu ze serveru.

jinak ten cron spoustim rucne proto, ze kdyz chci kopirovat nejaky kurz, tak abych necekal ty dve minuty a ta kopie se vytvorila rychleji po zadani

Diky,
David
Příloha screen.jpg
V odpovědi na David Frýbert

Re: Spuštění Cron.php

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři

že je to délkou celého cronu, kde bylo nastavení po 2 minutách a nestihlo se to, prý, zpracovat.

Tomu nerozumím. V posledních verzcích moodle se cron může (a má) spouštět, jak často chceš. Každou minutu je rozumný a pragmatický interval. Je docela běžné a stává se, že samotné vykonávání nějaké naplánované úlohy trvá déle, než jednu minutu. Od toho tam jsou potom ty zámky. Pokud se v minutu N spustí nějaká dlouhotrvající úloha, tak další spuštění v minutě N+1 si prostě vybere další úlohu v pořadí. Může jich takto jet paralelně několik, až do hodnoty nastavené v proměnné task_scheduled_concurrency_limit (ve výchozím nastavení 3). Pouze pokud některá úloha trvá déle než task_scheduled_max_runtime (ve výchozím nastavení 30 minut), je daný spouštěč nuceně uvolněn pro zpracování dalších úloh.

tak abych necekal ty dve minuty a ta kopie se vytvorila rychleji po zadani

To se tuším děje přes ad-hoc úlohy. V prosinci 2018 jsem o nich mluvil na setkání vývojářů - prezentace je dostupná na https://docs.moodle.org/dev/Developer_meeting_December_2018

Zkus se zeptat na hostingu, jestli by ti uměli zařídit dva spuštěné crony.

Má to tu výhodu, že ten druhý skript je v podstatě pořád spuštěný a vyčkává. Jen co se objeví nová ad-hoc úloha, hned ji spustí. A tím pádem má taky ten první klasický cron méně práce a celkový tok zpracování úloh je plynulejší.

No a zpět k tvému problému. Teoreticky je možné, že máš všechny spouštěče cronu vytížené a žádný další se tudíž nepodaří spustit. Druhá varianta je ale, že ti tam zůstal viset nějaký uzamknutý proces, taky se mi už stalo. Ale není to moc triviální na odladění...

V odpovědi na David Mudrák

Re: Spuštění Cron.php

autor David Frýbert -
Davide, díky moc, jdu se tím prokousat...hosting mi klasicky dovoluje pres administaci spoustet dalsi cron ulohy, ale bez parametru. Zkusim to dal poresit. Kazdopadne diky moc za nasmerovani.
V odpovědi na David Frýbert

Re: Spuštění Cron.php

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři

ale bez parametru

A co tedy zadáváš? Pouze cestu k nějakému PHP souboru? Nebo to může být libovolný shell script?

V odpovědi na David Mudrák

Re: Spuštění Cron.php

autor David Frýbert -
Ted na to koukam a je tam: "Adresa skriptu nebo cesta k programu" tak by to asi slo..jen budu muset zjistit v jakem formatu a kam ten scipt ulozit..