Task

Z DWFC3
Verzia z 12:10, 2. august 2017, ktorú vytvoril Ferec (Diskusia | príspevky)

Prejsť na: navigácia, hľadanie

Č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.

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

Parameter 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 runs (taskid, date, scenarioid) values (%taskid%, %date%, %scenarioid%);