Info monitoorijale skeemi bis abitabelite kohta

BIS laadimise jaoks vajalikud metainfo tabelid

Tabeli nimi

Otstarve

Kirjeldus

bis_route

Laadimissuund (definitsioonid)

Kust-kuhu laadimiste jaoks vajalikud viited ühendustele. ÄRA kunagi muuda teekonna koodi! (loo uus samade andmetega)

bis_registry

Tulemiregister

Teadaolevad laadimised, mh viimase käivitamise jälgimiseks

bis_registry_depends

Tulemite sõltuvused

laadimistulemuste tugevad sõltuvused (masteri laadimine NÕUAB slave uuestilaadimist)

bis_worker

Teostussessioon

Korralduste täideviimisprotsessid (ühe protsessi käigus võidakse lahendada viia mitu töökäsku)

bis_agenda

Tööde käivitamine (töökäsud)

Korraldused laadimisülesannete käivitamiseks (ja käivitamise tulemus)

bis_reconf

Reconf (ajutise iseloomuga)

Laadimisülesande definitsiooni osaline ülekirjutus (nt keep_pause, run_morning vms)

bis_registry_batch

Osalaadimiste järjepidamise info

remote räsi abil juhitud laadimiste jaoks reablokkide (8K rida) räside hoidmiseks

bis_trace

Laadimislogid

Töö käigu lühiajaline logi



Laadimiste ülevaade SQL päringuga

select * from (
select 
split_part(r.task_id, '.', 2) as skeem, split_part(r.task_id, '.', 3) as tabel
, case 
when needs_versioning then 'Versioneerimisel'
else
case 
when av.task_id is null then 'uus..'
when av.task_status = -1 then (case when full_load = 1 then 'TÖÖS-ALG' else 'TÖÖS' end)
when av.task_status = 0 and av.count_fail = 0 then 'Ootel'
when av.task_status = 0 and av.count_fail < 3 then 'Ootel (kordus)'
else (case when full_load = 1 then 'ALG' else '-' end) -- mitte bis_reconf järjekorras, sh eristame neid, mis järjekorda pannes tahavad alles alglaadimist
end
end as olek -- sõnad nii, et oleks tagupidi sorteerides olulisem info ees
, av.created_ts as jarjekorras_alates
, r.last_end_ts as viimati_laetud
, coalesce(c.task_newvalue::interval, r.keep_pause) as sagedus
, case when c.task_newvalue is null then 'definitsioon' else 'reconf' end as sageduse_maaraja
, r.synced_until as allika_viimane_sisumuutus
, case when r.run_morning then '0-8' else '-' end as hommikul
, case when r.run_workhours then '8-18' else '-' end as paeval
, case when r.run_evening then '18-24' else '-' end as ohtul
, case 
when (r.last_end_ts - r.last_start_ts) < '5 seconds' then 'alla 5 s'
when (r.last_end_ts - r.last_start_ts) < '20 seconds' then 'alla 20 s'
when (r.last_end_ts - r.last_start_ts) < '60 seconds' then 'alla 1 minuti'
when (r.last_end_ts - r.last_start_ts) < '10 minutes' then '1-10 minutit'
when (r.last_end_ts - r.last_start_ts) < '30 minutes' then '10-30 minutit'
else ' üle ' || date_part('hour', date_trunc('hour', (r.last_end_ts - r.last_start_ts)))::text || 'tunni' 
end as viimane_kulu_inim
, (r.last_end_ts - r.last_start_ts) as viimane_kulu_tehn
from bis.bis_registry r
left join bis.bis_reconf c on c.task_id = r.task_id and c.task_option = 'keep_pause'
left join (
select task_id, task_status, count_fail, created_ts
from (select task_id, task_status, count_fail, created_ts, id, row_number() 
over (partition by task_id order by id desc) as jrk from bis.bis_agenda a) as aa
where aa.jrk = 1
) as av on av.task_id = r.task_id
) as hh
where hh.sagedus < '100 years'::interval
order by hh.olek desc, hh.viimati_laetud desc nulls last

-- sorry, confluence arvab, et tema on targem ja tühikud tuleb kopeerides eemaldada