4.8. Řešení problémů

4.8.1. Prohledávání log souborů

Události zapisované do logu vztahující se k jednomu řízení mají shodný prefix, který obsahuje id řízení. Záznamy začínají řetězcem „Discard id=“.

Logy je možné prohledávat pomocí následujících příkazů (příklad pro rizeni id=12345):

cat vyber.log | grep --text id=12345
zcat vyber.gz | grep --text id=12345

4.8.2. Zjištění událostí k řízení

Pro zpracování, které probíhá na pozadí vznikají v databázi události v tabulce event. Událost může být ve stavech
  • PRIPRAVENA - připravena k provedení

  • POZDRZENA - událost s odloženým časem zpracování uloženém ve sloupci next_run

  • CHYBA - chyba při zpracování. Pokud je nastaveno next_run dojde k pokusu o provedení operace znova. Pokud jde o fatální chybu je next_run rovno NULL a událost se neprovede. V tomto případě je nutný zásah admistrátora.

select * from event where rizeni_id=1234;

4.8.3. Zastavení provádění Události

Pokud při zpracování některé události dochází opakovaně k chybě a blokuje se tím zpracovaní ostatních událostí je možné událost vyřadit ze zpracování. Událost se nezpracuje pokud má nastaveno state=‘CHYBA‘ a next_run=NULL

update event set state='CHYBA', next_run=NULL where event_id=1234;

4.8.4. Nesplněný UPL požadavek

k existujícímu upl požadavku existují záznamy v tabulkách event a task. Pro odstranění požadavku je potřeba nejprve odstranit záznam z tabulky event a pak navázanou událost z tabulky task. Tabulky event a task jsou provázány přes event.task_id=task.task_id.

Postup:
  • najít příslušnou event a její event_id

  • z nalezené event si zapamatovat task_id

  • smazat event

  • smazat task

delete from event where queue_name = 'upl_start' and operation = 'UPLOAD_WAITING' and rizeni_id=3929 and event_id = 184910;
delete from task where rizeni_id=3929 and task_id=22102;