Paralelní cron - PostponedTaskCron

PostponedTaskCronmůže spouštět od verze 5.7.40 naplánované úkoly. Jedná se o tzv. "Paralelní cron" tedy cron, který může být naklonován a pouštěn vícekrát. Umožňuje tak odbavovat větší množství dlouhotrvajících úloh.

Před spuštěním PostponedTaskCron je potřeba deaktivovat cron Cron! Poté už ho nezapínat, PostponedTaskCron nahrazuje původní Cron!

Postup nasazení paralelního fungování

Pro využití PostponedTaskCron k paralelnímu odbavování naplánovaných úkolů je potřeba následujícíc postup:

  1. Vypnout cron Cron
  2. Nastavit plánování si PostponedTaskCron podle potřeby
  3. Zkopírovat PostponedTaskCron a nastavit mu plánování např. 30s posunuté od prvního cronu (cílem je aby se kopírované crony nepouštěly ve stejný čas)
  4. Podle potřeby udělat tolik klonů, kolik bude potřeba

Konfigurace

V rámci cronu lze nastavit následujícíc parametry:

fromTime

Definuje od kdy bude cron brát naplánované úkoly. Může být vložen string nebo timestamp. Default je nastaven na null (což znamená 1970). Toto nastavení se hodí v případě kdy by z nějakého důvodu bylo potřeba nastavit další cron až od nějakého specifického data. Je to pojistka v podstatě pro to když by se nějaký cron vytížil a nešěel spustit další.

lockTtl

Doba na jakou se zamkne úkol, po tuto dobu není možné úkol aktivovat. Aby cron zpracoval a aktivoval naplánováný úkol musí projít zápis unikátního záznamu do Redis. Pokud ho nezíská úkol přeskočí. Tím se zajistí, že se dva a více cronů nesnaší najednou aktivovat stejný úkol.Zámky se explicitně neodemykají, ale nechává je vyršet jejich planost. Výchozí hodnota je 30 minut (1800000 ms). Takový úkol je tedy možné zaktivovat až po daném termínu.

Frantisek Brych Updated by Frantisek Brych

Crons

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)