Scenario
Scenárom označujeme sadu súvisiacich úloh, ktoré sú naplánované na spustenie spoločnou udalosťou (napr. dostupnosť dát, moment dokončenia uzávierky systému). Scenár by mal zahŕňať v sebe všetky súvisiace úlohy spracovávané v nadväznosti na sebe. Ako príklad môže byť spracovanie DWH ako samostatný scenár, rôzne intra-day a near realtime úlohy ako samostatný scenár. Takisto úlohy týkajúce sa údržby databáz, serverov by mali byť nastavené ako samostatné scenáre.
Vlastnosti
Vlastnosti scenára ovplyvňujú najmä spôsob plánovania denného spracovania
- Názov - jedinečný názov scenára
- Enabled - povolené/zakázané plánovanie scenára (pre ďalšie iterácie, už naplánované iterácie budú dokončené)
- Simple - príznak jednoduchého/pokročilého plánovania scenára. Jednoduché plánovanie je určené pre každodenné spúšťanie bez ohľadu na pracovné dni a sviatky
- Query - dotaz, ktorý je pravidelne spúšťaný a na základe ktorého je plánované spracovanie, viď TBD
- Connection - DB spojenie, ktoré je použité pre spustenie Query, pole je povinné pre pokročilé scenáre (Simple = False)
- Polling frequency - pravidelné spúšťanie vyššie uvedeného dotazu, udávané v minútach
- Parallelism - počet súčasne naplánovaných/bežiacich spracovaná tohto scenára - tzn. maximálny počet súčasne spracovaných dátumov v prípade denného spracovania
- Load limit - maximálne zaťaženie úloh, ktoré je možné spustiť v rámci scenára, pre detaily viď Load management
- Parallel limit - maximálny počet súčasne bežiacich úloh v rámci scenára,viď Load management
- Time min - hraničný minimálny čas pre spustenie scenára, pred týmto časom sa scenár nespúšťa (nevykonávajú sa ani selecty v prípade pokročilého plánovania scenára), zadáva sa v číselnom formáte ako HHMM
- Time max - hraničný maximálny čas pre spustenie scenára, po tomto čase sa scenár nespúšťa (nevykonávajú sa ani selecty v prípade pokročilého plánovania scenára), zadáva sa v číselnom formáte ako HHMM
Dotaz
Očakávaný je platný SQL dotaz, ktorý vracia jeden riadok a nasledovné stĺpce:
- dátum spracovania vo formáte date, datetime (berie sa len dátumová časť)
- kód iterácie - nepovinný stĺpec, je potrebné pre viacnásobné spustenia v rámci dňa, pre detaily viď Plánovanie spracovania
- názov spracovania - nepovinný stĺpec, ktorý ak je nenulový je použitý ako názov spracovania v aplikácii namiesto kombinácie Scenára, dátumu a iterácie. Pomocou tohto textu je možné nahradiť formát <scenár>/<dátum>/<iterácia> ľubovoľným textom.
Pred spustením dotazu sa vykonáva nahradenie značiek hodnotou parametrov. Je možné použiť nasledovné parametre:
- maxdate - maximálny dátum, za ktorý bolo spracovanie spustené vo formáte yyyy-mm-dd, dátum 1970-01-01 indikuje prvé spustenie scenára
- maxprocessingID - maximálny číselný identifikátor, za ktorý bolo spracovanie spustené, hodnota 0 indikuje prvé spustenie scenára
- maxIteration - kód iterácie s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
- maxProcessingName - názov spracovania s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
- maxProcessingStatus - stav spracovania s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
- scenarioname - názov spúšťaného scenára
- scenarioid - identifikátor spúšťaného scenára
Parametre sú v dotaze 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:
select %maxdate% + 1 as date, 'iter1' as iteration, 'iter1 on ' + (%maxdate% + 1) as name;