Task: Rozdiel medzi revíziami
(→Príkaz) |
(→Vlastnosti úlohy) |
||
| Riadok 16: | Riadok 16: | ||
* Závislosti - zoznam závislostí na iných úlohách | * Závislosti - zoznam závislostí na iných úlohách | ||
* Operátori - zoznam notifikovaných operátorov v prípade chyby pri vykonávaní úlohy. Notifikácia je odoslaná len v prípade, že sa jedná o posledný automatický pokus o vykonanie úlohy. | * Operátori - zoznam notifikovaných operátorov v prípade chyby pri vykonávaní úlohy. Notifikácia je odoslaná len v prípade, že sa jedná o posledný automatický pokus o vykonanie úlohy. | ||
| + | * Typ závislosti - v prípade viacerých závoslostí je možné si vybrať, čí má úloha čakať na splnenie všetkých závislostí, alebo len na prvú závislosť. Typicky sa používa na Hadoop úlohy, kedy je vytvorených viacero úloh a po hlásení prvej z nich má zmysel pokračovať. Predvolené nastavenie je čakanie na splnenie všetkých závislostí. | ||
| + | * Dedenie priority - určuje, či úloha zdedí prioritu od úlohy, ktorá je od nej závislá, pokiaľ má ona vyššiu prioritu. V predvolenom nastavení sú priority dedené. Viď kapitolu [[Prioritizácia]] | ||
==Stav úlohy== | ==Stav úlohy== | ||
Verzia zo dňa a času 09:09, 17. október 2018
Čo to je
Úloha je základná jednotka spracovania. Reprezentuje volanie procedúry v databáze, prípadne shell skriptu. Úloha je vykonávaná synchrónne vždy v samostatnom vlákne. Je zaradená do práve jednej skupiny, má priradené práve jedno pripojenie, prostredníctvom ktorého je úloha vykonávaná.
Vlastnosti úlohy
- Názov - názov úlohy, ktorý musí byť jedinečný v rámci skupiny
- Query - dotaz/dopyt/príkaz, ktorý je vykonaný
- Skupina - skupina, do ktorej úloha patrí
- Pripojenie - pripojenie, ktoré je použité na spustenie úlohy
- Plán - typ plánovania úlohy - denné, týždenné, atď. vrátane výberu obdobia , kedy sa má úloha vykonávať. Má zmysel v prípade iných ako denných úloh.
- Priorita - číselné vyjadrenie priority, nižšie číslo znamená, že úloha je vybraná na spracovanie skôr ako úloha s vyšším číslom
- Váha - číselné vyjadrenie náročnosti úlohy z hľadiska spotrebovaných zdrojov
- Počet opakovaní - vyjadruje počet pokusov, ktoré budú vykonané v prípade chyby pri vykonávaní úlohy
- Čakanie medzi opakovaniami - vyjadruje interval, ktorý bude dodržaný medzi jednotlivými opakovaniami po neúspešnom pokuse o vykonanie
- Typ paralelizmu - plánovanie úlohy v prípade spracovania viacerých dátumov súčasne TBD
- Závislosti - zoznam závislostí na iných úlohách
- Operátori - zoznam notifikovaných operátorov v prípade chyby pri vykonávaní úlohy. Notifikácia je odoslaná len v prípade, že sa jedná o posledný automatický pokus o vykonanie úlohy.
- Typ závislosti - v prípade viacerých závoslostí je možné si vybrať, čí má úloha čakať na splnenie všetkých závislostí, alebo len na prvú závislosť. Typicky sa používa na Hadoop úlohy, kedy je vytvorených viacero úloh a po hlásení prvej z nich má zmysel pokračovať. Predvolené nastavenie je čakanie na splnenie všetkých závislostí.
- Dedenie priority - určuje, či úloha zdedí prioritu od úlohy, ktorá je od nej závislá, pokiaľ má ona vyššiu prioritu. V predvolenom nastavení sú priority dedené. Viď kapitolu Prioritizácia
Stav úlohy
V rámci spracovania nadobúda úloha jeden z nasledovnýc stavov:
- Scheduled - naplánovaná pre aktuálne spracovanie
- Prepared - vybraná pre ďalšie spracovanie - jedná sa o technický stav, v ktorom sa úloha nachádza potom, keď je vybraná na spustenie, ale k spusteniu ešte nedošlo
- Invalid - neplatná úloha, technický stav, ktorý nastáva v prípade, že počas behu úlohy, resp. stave prepared dôjde k pádu servera
- Running - aktuálne bežiaca úloha
- Finished - úloha dokončená
- Manual finish - úloha bola označená operátorom ako ukončená
- Manual repeat - úloha bola zaradená operátorom na opakované spracovanie
- Error - predchádzajúce spustenie úlohy skončilo s chybou
- Can't connect - predchádzajúce spustenie úlohy skončilo s chybou pri pokuse o pripojenie
- Cancel requested - úloha bola počas behu prerušená operátorom
- Cancel in progress - úloha je v procese prerušenia (nasleduje po stave Cancel requested)
Príkaz
Spúšťaný príkaz je vložený do poľa Query. V prípade databázového pripojenia je očakávaný platný SQL statement, ktorý môže byť volaním procedúry (stored procedure), DML, alebo DDL príkaz. V prípade, že príkaz vracia dáta (resultset), sú všetky dáta ignorované. V prípade shell commandu je v tomto poli očakávaný príkazový riadok, ktorý má byť spustený. V prípade ODI jobu je v poli očakávaný názov ODI jobu.
Pred spustením príkazu sa vo všetkých typoch pripojenia vykonáva nahradenie značiek hodnotou parametrov. Je možné použiť nasledovné parametre:
- date - dátum, za ktorý bolo spracovanie spustené
- taskid - číselný identifikátor úlohy
- taskname - názov úlohy
- groupid - číselný identifikátor skupiny, v ktorej je úloha zaradená
- groupname - názov skupiny, v ktorej je úloha zaradená
- period - typ plánovania úlohy: denná, mesačná, atď.
- iteration - kód iterácie spracovania (pre viacnásobné denné spracovania)
- trynumber - poradie pokusu o vykonanie úlohy, pri prvom pokuse začína 0
- scenarioid - číselný identifikátor scenára
- scenarioname - názov scenára
Parametre sú v príkaze vložené ako značky ohraničené oddeľovačom %značka% Pri viacnásobnom použití značiek sú nahradené všetky výskyty.
Príklad použitia viacerých značiek na SQL príkaze:
insert into my_table (taskid, date, scenarioid) values (%taskid%, %date%, %scenarioid%);
Okrem systémových parametrov je možné použiť aj používateľsky definované parametre, ktoré je možné použiť nasledovne:
call proc1 %u:usrpar1%
pričom prefix u: odlišuje užívateľsky definovaný parameter, tento musí existovať v zozname parametrov. usrpar1 je názov parametra, ktorý je pri spustení nahradený jeho aktuálnou hodnotou.