Požadavek update-dad
Účel a dopady
Vyvolá krátkou odstávku serveru a aktualizaci struktury databáze podle aktuálních DAD souborů uložených ve zdrojové aktualizační složce – bez nutnosti restartu celého serveru. Vedlejší účinky: server se dočasně pozastaví, odhlásí právě přihlášené klienty (notifikace o odhlášení) a po dobu odstávky vrací na webové požadavky stránku 503-error.htm z kořene webového sídla s informací o odhadované době trvání.
Dostupnost, kontext, oprávnění apod.
Smí použít jen uživatel s r_admin nebo r_db; jinak je požadavek zamítnut.
Podléhá standardnímu transakčnímu zpracování obálky <request> (transactional/přeskočení při odvolané transakci) – viz obálka požadavku.
XML požadavek (syntax + popis)
<request>
<update-dad
time="{number}"
/>
</request>
Parametry a pravidla (atributy, potomci)
time- Odhadovaná délka trvání (s) - Klientskou stranou odhadovaný počet vteřin trvání odstávky, použitý serverem pro informaci v hlavičce HTTP 503 po dobu aktualizace. (typ:number; nepovinný)
Požadavek nemá žádné potomky.
Závislosti
- Je-li
timeuveden, ale nejde převést na celé číslo, chová se to, jako by odhad byl0(žádný odhad se do hlavičky nezapisuje). - Není-li
timeuveden vůbec, použije se místo něj konfigurační hodnota serverudad_update_tm, pokud je nenulová.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
- Server připraví aktualizaci a znovunačtení struktury a informuje připojené klienty o nadcházejícím odhlášení.
- Není-li server právě už pozastaven, ihned se pozastaví voláním interní
Pause()a nastaví se příznak pokračování po dokončení aktualizace; probíhá-li pozastavení již (např. souběžný požadavek), druhé volání server znovu nepozastavuje. - Po dobu odstávky (řádově sekundy až desítky sekund dle rozsahu změn) server načte DAD soubory z aktualizační složky, porovná je se stávající strukturou databáze a nalezené rozdíly do databáze doplní; poté automaticky obnoví provoz. Aktualizaci databáze může předcházet souborová aktualizace požadavkem update-files, který zkopíruje/přesune nové DAD (a webové) soubory do příslušných zdrojových složek.
- Přesný průběh vlastního porovnání a zápisu struktury (mimo nastavení výše uvedených příznaků a pozastavení) probíhá mimo tento dispatcher a nebyl v rámci této revize dále ověřován; chování při neplatném DAD (zastavení provozu, nutnost dodat DAD z předchozí verze) přebírá starší dokumentace jako neověřený předpoklad.
XML odpověď (syntax + popis)
<response>
<update-dad
type="ok"
/>
</response>
Požadavek vrací jen potvrzení o přijetí; samotná aktualizace probíhá až po odeslání odpovědi během následné odstávky.
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
<update-dad status="error" detail="Nemate patricna opravneni"/>– volající nemár_adminanir_db.<update-dad status="error" detail="Transakce byla odvolana"/>/<update-dad status="skip" detail="Transakce byla preskocena"/>– požadavek byl vyřazen standardním transakčním zpracováním obálky.- Na rozdíl od staré dokumentace neexistuje pro tento požadavek žádná obecná chybová větev s atributem
detailu úspěšného zpracování – jediné dvě možné odpovědi jsou úspěch (type="ok") a odepření/přeskočení výše. Výraz pro identifikaci chyb v odpovědi serveru:update-dad[@status='error'].
Související požadavky
- update-files – souborová aktualizace DAD a webových souborů, typicky prováděná před tímto požadavkem.