Naplánované úlohy a autoserver
Naplánované úlohy
Autoserver
V rámci systému ABRA Gen je možno využívat možnosti spouštění některých úloh automaticky bez dalšího zásahu uživatele. K nastavení úloh, které se mají spouštět automaticky a v pravidelných intervalech slouží agenda Naplánované úlohy. Nové úlohy lze zadat zde nebo z jiných částí systému (viz funkce Naplánovat v některých agendách). Automatické spouštění naplánovaných úloh provádí Automatizační server.
Platí:
- Automatizační server (AutoServer.exe/AutoServerS.exe) musí být nastaven a spuštěn.
- Automatizační server může běžet na jiném počítači, než na kterém běží Aplikační server nebo na kterém je instalován systém ABRA Gen. Může běžet pouze na OS Windows.
- Konfigurace automatizačního serveru:
- 1. část - povinná - viz agenda Nastavení automatizačního serveru
- 2. část - nepovinná - pomocí souboru AutoServer.cfg. Viz šablona ..\Doc\autoserver\AutoServer.cfg.tmpl.
- Logování - průběh akcí autoserveru lze logovat. Nastavení logování viz soubor Nexus.cfg→sekce [AS~Group].
Dále naleznete popis podrobněji:

Tato oblast zastřešuje několik typů úloh. Některé z nich jsou provozovatelné samostatně, nicméně spolu souvisí, jak plyne z následujícího popisu:
Systém ABRA Gen umožňuje automatické spouštění úloh různého typu. To uživatel využije typicky pro úlohy, které potřebuje provádět v pravidelných intervalech, ale nechce na jejich provádění myslet nebo se jím zdržovat. (Např. vygenerování žádostí o platební příkazy podle definice opakovaných plateb). Může se jednat i o úlohu, která je časově náročná pro systém a jejíž spouštění je vhodné odložit na dobu, kdy v systému nepracují uživatelé. (Např. automatické spuštění skladové uzávěrky v noci, automatické spuštění zálohy dat apod.). Uživatel může také požadovat pravidelné zasílání vybraných reportů. (Např. automatické vytvoření vybrané tiskové sestavy a její odeslání uživateli na zadané e-mailové adresy a to buď externí e-mailové adresy nebo i jako přílohu tzv. ABRA vzkazu (jedna z možností využití tzv. interního messagingu). Pokud uživatel využívá interního e-mailového klienta a pracuje s odeslanými a došlými e-maily přímo uvnitř ABRA Gen, tak automatické odesílání a stahování e-mailové pošty jsou dalšími z možných plánovaných automaticky spuštěných úloh. Podobnou úlohou může být i informativní automatické zasílání ABRA vzkazů na základě splnění nějakého kontrolního bodu, (uživatel např. požaduje, aby mu systém poslal vzkaz v okamžiku, kdy dojde k zaplacení nějaké faktury), což je další z možností využití interního messagingu. Podrobněji viz Interní messaging, e-mailová komunikace a naplánované úlohy.
Uživatel dále může používat elektronickou fakturaci a může chtít doručené elektronické dokumenty automaticky zpracovat do systému, tj. automaticky z nich založit záznamy do agendy Dokumenty (podrobněji viz Dokumenty - obecně - možnosti založení dokumentu, příp. Zpracování doručených e-mailů a Zpracování front souborů) a tyto dokumenty dále zpracovat, tj. v tomto případě z nich např. vytvořit doklady do příslušných agend (viz Zpracování dokumentů). Automatické zpracování dokumentů ale uživatel využije nejen u dokumentů přijatých, ale zrovna tak vydaných (např. odeslání odběrateli, přes VREP apod.). Automaticky spouštěné úlohy však nemusí být omezeny pouze na funkcionalitu ABRA Gen dodávanou výrobcem, ale může se jednat o pravidelné spouštění nějaké funkce skriptování, které výrazně rozšiřuje možnosti systému (viz možnosti zákaznické modifikovatelnosti systému). Podrobněji viz jednotlivé typy naplánovaných úloh.
Automaticky spouštěné úlohy se definují v agendě Naplánované úlohy. Lze je ale zadávat i z různých jiných částí systému pomocí funkce Naplánovat a Průvodce naplánováním automatického spuštění.
Spuštění a provádění těchto naplánovaných úloh zajišťuje tzv. automatizační server.
O provedených automatických úlohách může chtít uživatel zasílat nějakou zprávu, že daná úloha proběhla a s jakým výsledkem. K zasílání takových informačních vzkazů příp. e-mailů je opět využíván interní messaging. O zaslání takové informační zprávy se opět postará automatizační server v rámci spuštění a zpracování dané naplánované úlohy.
Tedy, aby probíhalo automatické spouštění nějaké akce popsané výše, musí být spuštěn a nakonfigurován Automatizační server a musí být nadefinována a pravidelně spouštěna plánovaná úloha příslušného typu.
Některé z možností využití objasníme na příkladech:
Automatické spouštění úlohy - Uzávěrka skladu s oceněním skladových zásob:
Vedoucí skladu má za úkol pravidelně zajišťovat spouštění skladové uzávěrky, aby byly skladové pohyby oceněny skladovými cenami. Nadefinuje si naplánovanou úlohu typu Uzávěrka skladu s prováděním na noc a s tím, že mu AutoServer má zaslat zprávu po dokončení úlohy. Jakmile nastane okamžik spuštění, AutoServer uzávěrku na zadaných skladech provede a po dokončení zašle uživateli (vedoucímu skladu) vzkaz. Když se druhý den vedoucí skladu přihlásí do systému, obdrží informaci, že má nedoručené vzkazy a může se hned informovat po výsledku úlohy.
Interní messaging - automaticky vytvořený a zaslaný vzkaz na základě nějaké podmínky:
Obchodního ředitele zajímají pohledávky. Chce být informován, pokud je vystavena faktura větší než nějaká hraniční částka. Zadá si tedy kontrolní bod s vazbou na agendu faktur vydaných a definici automatického vzkazu, s výrazem, že částka v lokální měně je větší nebo rovna např. 50000. Dále musí být nadefinována naplánovaná úloha typu Automatické vzkazy, spuštěn a nakonfigurován AutoServer. Pak jakmile někdo vystaví fakturu vydanou na částku vyšší, systém vygeneruje požadavek na zaslání vzkazu obchodnímu řediteli a při dalším cyklu spuštění naplánované úlohy pro zasílání automatických vzkazů daný vzkaz pro uživatele - obchodního ředitele vytvoří a doručí mu o něm oznámení.
Interní messaging - automaticky vytvořený a zaslaný vzkaz na základě nějaké podmínky:
Obchodník chce být informován o zaplacení faktury odběratelem, aby mohl zajistit další část sjednané zakázky. Využije systémově dodávaný kontrolní bod Zaplacení dokladu s vazbou na agendu faktur vydaných a zadá si definici automatického vzkazu s vazbou na sledovanou fakturu. Dále musí být nadefinována naplánovaná úloha typu Automatické vzkazy, spuštěn a nakonfigurován AutoServer. Pak jakmile dojde k nové platbě uvedené faktury, systém vygeneruje požadavek na zaslání vzkazu uživateli - obchodníkovi a při dalším cyklu spuštění naplánované úlohy pro zasílání automatických vzkazů daný vzkaz pro obchodníka vytvoří a doručí mu o něm oznámení.
Automatické spouštění úlohy - Upozornění na servisovaný předmět:
V modulu Servis se vyberou servisované předměty vyhovující omezení zadanému v naplánované úloze tohoto typu, např. auta, u nichž brzo nastane datum příští kontroly. Vytvoří se o tom e-mail a zašle se provozovateli daného vozidla. Vedoucí servisu si o provedení napl. úlohy může nechat poslat vzkaz nebo e-mail na svůj vlastní mail, aby měl jistotu, že úloha probíhá správně.

Kompletní seznam úloh, které lze v systému ABRA Gen naplánovat najdete zde.

V této části naleznete princip ABRA automatizačního serveru, informace, jak jej zprovoznit, nakonfigurovat a další rady s ním související. Na úvod se můžete podívat na krátké výukové video.

Naplánované úlohy, 1. část: Nastavení automatizačního serveru
Od verze 25.3 došlo k zásadní změně fungování automatizačního serveru. Z uživatelského hlediska došlo ke změnám v agendě Naplánované úlohy: původní záložka Automatizační server byla zrušena a její funkce přesunuty do nástroje AppServerProp (ten nyní obsahuje novou záložku Automatizační servery s přehledem všech běžících i ukončených autoserverů, jejich vytížení, nastavení a případných problémů). Dále byla subzáložka Hlavička přejmenována na Popis a pole Uživatel (včetně hesla) pro spouštění úlohy bylo přesunuto z této subzáložky mezi hlavní položky hlavičky úlohy. Položka Podmínka spuštění byla přesunuta na subzáložku Plán spuštění a nově přibyla subzáložka Omezení při zpracování úlohy pro nastavení např. maximální doby běhu úlohy či maximálního využití paměti. Upozorňujeme, že uvedené výukové video tyto změny nezohledňuje, většina informací v něm je však nadále platná.

Automatizační server může být realizován více způsoby:
-
AutoServerS.exe - Automatizačním serverem je Windows služba (service). Doporučeno.
-
AutoServer.exe - Automatizačním serverem je Windows aplikace (exe).
Chová se jako klientská část aplikace ABRA Gen, která komunikuje s aplikačním serverem (tedy obdobně jako jakýkoliv jiný klient ABRA Gen). (Pojem klientská část viz kap. Technologie zpracování dat.)
Jeho použití je omezeno na operační systém MS Windows. Jedná se o klientskou část aplikace ABRA Gen, tedy i když máte síťovou část instalace na Linuxu a chtěli byste využívat automatizační server, je třeba počítat s tím, že automatizační server musí běžet na některém z windowsových klientů.
Registrace (spuštění) a další podmínky spuštění (UNC cesty vs. mapované disky atd.)
AutoServer.exe se spustí standardním způsobem jako exe soubor, pak, je-li spuštěn, je na toolbaru zobrazena ikona s možností zobrazit si seznam spojení na databázi, které automatizační server zpracovává s informací, zda je pro dané spojení server aktivní (viz příznak Aktivní v Nastavení automatizačního serveru).
AutoServerS.exe je Windows služba, která vykonává vše potřebné v systému ABRA Gen. Pro provoz automatizačního serveru jako služby je nejprve nutné tuto službu nainstalovat resp. zaregistrovat spuštěním dodávaného exe souboru z příkazové řádky (k tomu je třeba mít administrátorský přístup). Tj. pod administrátorským účtem nainstalovat servis z příkazové řádky jeho zavoláním s parametrem /INSTALL (resp. -INSTALL) z adresáře, kde je automatizační server umístěn:
<cesta>\AutoServerS.exe /INSTALL
Pro odinstalaci totéž ale s parametrem /UNINSTALL (resp. -UNINSTALL).
-
Automatizační server může běžet na jiném počítači, než kde běží aplikační server a než kde je instalován systém ABRA Gen. To bude typický případ v praxi (kvůli rozdělení zátěže).
Aplikační server běží na jednom počítači, automatizační server na jiném počítači, přičemž fyzicky leží na třetím počítači v adresáři, kde je ABRA nainstalována.
V takovém případě se AutoServerS.exe musí instalovat s UNC cestou (ne z namapované cesty). Tedy např. \\GxAppServer\AbraGen\AutoServerS -install. Instalace s cestou zadanou přes mapovaný disk, tj. např. W:\AbraGen\AutoServerS -install sice půjde nainstalovat, ale nepůjde spustit. Je to z toho důvodu, že služba neběží pod profilem aktuálně přihlášeného uživatele. Nemá jeho prostředí (plochu, různá nastavení atd. a mimo jiné ani mapování síťové cesty \\GxAppServer\AbraGen\ na písmeno W).
- Automatizační server musí být správně nakonfigurován. Viz dále Konfigurace automatizačního serveru.
- Dále viz Procesy automatizačního serveru - Podmínky rozběhnutí autoserveru pro dané spojení.
Automatizační server je realizován tak, že je bezúdržbový, tj. pro zdárné provozování automaticky spouštěných úloh jej stačí spustit, dále se o spouštění úloh stará sám. Ztratí-li automatizační server spojení na aplikační server, není nutné program, případně službu zastavovat.
O průběhu akcí autoserveru resp. jeho slavů (viz dále) si můžeme zobrazit log. Logování událostí v automatizačním serveru se konfiguruje jako ostatní logování v konfiguračním souboru Nexus.cfg v sekci [AS~Group]. Konfigurační soubor Nexus.cfg systém hledá ve stejné cestě, jako je AbraGen.exe.
[Log.AS~Group]
Enabled=1
Level=6
Jelikož AS server je nevizuální, je v případě potíží potřeba logovat vícero věcí a logování týkající se autoserveru tudíž probíhá více třídami. Jejich vzájemná konfigurace může být složitá, navíc logování jen jedné z nich může být v praxi pro odhalení problému nedostatečné, nebude-li k dispozici současně i log jiné z nich. Proto je k dispozici logovací skupina AS~Group. Zapnout "rozumné" logování je možné přidáním právě této skupiny do Nexus.cfg. Pozor, bude vznikat množství log souborů, které je nutné rozumně odsouvat.
Tisky/exporty prostřednictvím automatizačního serveru
V praxi automatizační server většinou poběží na jiném počítači než na uživatelském PC. Buď na serveru, kde běží aplikační server, nebo na úplně jiném serveru a pod "nějakým" jiným uživatelem. To způsobuje, že např. nejsou namapované diskové jednotky, nicméně UNC cesty fungují bez problémů. Viz též Registrace, další podmínky spuštění (UNC cesty vs. mapované disky atd.). Dále tzn., že nastavení tiskáren (ovladačů) bude jiné, než má uživatel. Platí:
- AutoServer instalovaný jako služba běží pod místním systémovým účtem. Dále služba běží pod nějakým účtem Windows a to může způsobit, že do vybrané složky nepůjde zapisovat (omezení pro případ exportu do souboru, případně uložení tiskové sestavy do souboru). Toto omezení platí jak pro lokální disky tak i UNC cesty.
- AutoServer využívá k tisku vždy ovladač defaultní tiskárny uživatele, pod kterým služba běží.
- Místní systémový účet nemusí mít žádnou defaultní tiskárnu nastavenu (není známo, jak ji nastavit, lze-li to).
Z toho plyne, že pro zprovoznění AutoServeru je doporučeno: Po instalaci službě nastavit, že se má přihlašovat jako nějaký uživatel serveru, pod jehož účtem je možné se přihlásit a provést mu nastavení vhodné defaultní tiskárny. Pozor, grafický výstup tisku bude odpovídat ovladači serverové tiskárny a nikoli ovladači tiskárny uživatelského PC.

Konfigurace autoserveru se skládá ze dvou částí:
- První, povinná část - viz agenda Nastavení automatizačního serveru.
-
Druhá, nepovinná část - pomocí souboru AutoServer.cfg. Je možné pomocí něj např. nastavit, pro jaká spojení na databázi má autoserver běžící na daném počítači spouštět naplánované úlohy. Využijete tehdy, pokud máte velký počet spojení, kdy nemusí jeden počítač stačit. Konfigurační soubor je periodicky načítán. Není povinný. Není-li soubor vytvořen, automatizační server si stáhne seznam všech existujících spojení a jejich naplánované úlohy začne normálně zpracovávat.
V instalačním adresáři ABRA Gen je v podadresáři ..\Doc\autoserver šablona konfiguračního souboru, která slouží ke konfiguraci autoserveru.
Šablonu konfiguračního souboru je nutné přejmenovat (resp. odstranit koncovku tmpl) a nakopírovat do příslušného adresáře a případně ji dle potřeby upravit. Soubor musí být umístěn ve stejném adresáři jako program AutoServer.exe nebo služba AutoServerS.exe. Konfigurační soubor obsahuje sekce [AutoServer] a [AutoServerSlave], které dále obsahují parametry, jež jsou v základním stavu okomentovány (je před nimi uveden znak #) a v tomto stavu se přebírá vyplněná výchozí hodnota parametru. Pokud je daný parametr nutno změnit, je třeba znak # odstranit.
AutoServer.cfg.tmpl obsahuje tyto parametry:
Název Popis Sekce [AutoServer] PoolSize Určuje maximální počet naplánovaných úloh, které mohou běžet současně.
Tato hodnota má význam zejména při provozu více automatizačních serverů, kdy je potřeba nastavit různé limity pro každý z nich.
Platné rozpětí je 1 až 64.
Pokud není hodnota zadána, použije se nastavení z hlavního spojení – hodnota zde má však vyšší prioritu.
RefreshInterval Určuje interval (v sekundách), ve kterém automatizační server kontroluje a zpracovává naplánované úlohy.
Má význam zejména při běhu více Automatizačních serverů, kdy je potřeba nastavit různý interval pro každý z nich.
Platné rozpětí je 5 až 120.
Pokud není hodnota zadána, použije se nastavení z hlavního spojení – hodnota zde má vyšší prioritu.
CreateProcessTimeout Parametr určuje maximální čas, jaký AutoServer čeká na spuštění AutoServerSlave. Standardně spuštění trvá několik sekund, ale v případě velmi vysokého vytížení PC, na kterém běží AutoServer může být delší. Dobu tohoto režijního času lze sledovat na záložce Historie spuštění v agendě Naplánované úlohy. Výchozí doba je 600000 ms (10 minut). Connection Výčet spojení na databázi, pro která se má spouštět AutoserverSlave.
[AutoServer]
Connection=FirmaA
Connection1=FirmaB
Connection2=DemodataPodle tohoto příkladu bude takto nakonfigurovaný automatizační server pracovat pouze pro spojení se jmény FirmaA, FirmaB a Demodata.

Automatizační server (AutoServer.exe) zajišťuje správu naplánovaných úloh a jejich zpracování prostřednictvím procesů AutoServerSlave.exe. Každá naplánovaná úloha je přiřazena novému procesu AutoServerSlave.exe, který je spuštěn pouze pro její zpracování a po dokončení se automaticky ukončí.
AutoServer obsahuje dvě hlavní smyčky:
-
Plánovací smyčka - kontroluje naplánované úlohy a zařazuje je do společné fronty.
-
Spouštěcí smyčka - postupně odebírá úlohy z této fronty a spouští pro ně nové instance AutoServerSlave.exe.
Počet současně běžících AutoServerSlave.exe je řízen nastavením v agendě Nastavení automatizačního serveru a vztahuje se na celý AutoServer bez ohledu na jednotlivá spojení.
Klíčové vlastnosti AutoServerSlave.exe:
-
Každý AutoServerSlave.exe zpracovává právě jednu naplánovanou úlohu.
-
Po dokončení úlohy se automaticky ukončí.
-
Maximální počet současně běžících procesů je omezen globálním nastavením.
-
Spuštění procesu AutoServerSlave.exe podléhá časovému limitu definovanému parametrem CreateProcessTimeout v konfiguračním souboru AutoServer.cfg.

Nezbytnou podmínkou pro provoz autoserveru a spouštění naplánovaných úloh je, aby byla tato část systému nainstalována a licencována.
- Autoserver a agendy pro nastavení autoserveru a definici naplánovaných úloh jsou součástí jádra systému, tudíž jsou instalovány v rámci instalace jádra - viz Instalovatelné součásti.
-
Agendy pro nastavení autoserveru a definici naplánovaných úloh jsou licencovány samostatně - viz Licencované celky (licencované moduly a vlastnosti). Je třeba vlastnit odpovídající licenci na licencovaný celek Automatizační server a licenci na potřebný počet nadefinovaných úloh.
Licence na licencovaný celek Automatizační server neřeší licence na provoz samotného automatizačního serveru, ale přístup do agend, které potřebujete, abyste mohli naplánované úlohy provozovat. Automatizační server sám o sobě ani spuštění naplánované úlohy licenci nečerpá. Viz též Čerpání licencí přes automatizační server - rekapitulace.
Dále se při inicializaci kontroluje:
- existence licence na jádro (viz Test existence platné licence jádra) - Je-li výsledek negativní, nespustí se.
Jak plyne z textu výše, pro provoz automatizačního serveru je dále třeba:
- Mít správně provedenou konfiguraci automatizačního serveru
-
Zajistit běh automatizačního serveru a jeho komunikaci s aplikačním serverem, tj.:
- mít nainstalovanou službu AutoServeru a mít ji spuštěnu (pokud jej provozujete jako službu),
- nebo mít spuštěnou aplikaci,
- zajistit spuštění aplikačního serveru (aplikační server se ale umí spustit i automaticky v případě instalace na stejném PC, z kterého se spustí klientská část ABRA Gen (zde automatizační server)).
Systém ABRA Gen by měl být nainstalován jako síťový (tj. s aplikačním serverem). (Automatizační server je klientem aplikačního serveru, jak bylo řečeno výše, a tudíž po jeho spuštění není možné již spustit systém ABRA Gen nainstalovaný jako single a naopak (systém nahlásí pokus o opakované spuštění stejné jednouživatelské verze)).

Přístupová práva - pokud se v rámci nějaké naplánované úlohy pracuje s chráněnými objekty (např. se vytváří doklad v nějaké řadě, zpracovává se dokument určité kategorie), je to možné jenom pro ty chráněné objekty, ke kterým má uživatel, pod nímž se daná akce provádí, přístupové právo (viz práva Zobrazit, Použít, Provést/zrušit uzávěrku skladu, Zpracovat,... pro jednotlivé typy chráněných objektů).
Dále se v rámci naplánovaných úloh může pracovat s e-mailovými účty. Nejde pouze o úlohy pro samotné automatické stahování e-mailů či automatické odesílání existujících e-mailů ve stavu "K odeslání", ale i o všechny ostatní naplánované úlohy. Jelikož jak bylo zmíněno výše, součástí každé úlohy může být odesílání zpráv po dokončení úlohy (vzkazů a odeslaných e-mailů přes e-mailové účty v systému ABRA) zadaným adresátům (viz subzáložka Odeslat zprávu po dokončení úlohy). Také mohou existovat úlohy, kde vytvoření e-mailu nějakému konkrétnímu adresátovi je cílem dané úlohy, aniž by šlo o e-mail odesílaný po dokončení úlohy (viz např. úloha typu Upozornění na servisovaný předmět (v rámci ní mohou totiž vznikat dva typy e-mailů a to jednak e-mail provozovateli s daným upozorněním a jednak e-mail zvoleným adresátům v rámci zpráv po dokončení úlohy o tom, že úloha proběhla/neproběhla)).
E-mailové účty a Účty odchozího serveru SMTP jsou jedním z chráněných objektů. Platí: E-maily je možné posílat a stahovat jenom z těch účtů, ke kterým je přístupové právo. To je v případě e-mailů posílaných či stahovaných v rámci naplánovaných úloh dáno právy uživatele (resp. jeho role), pod kterým se daná akce má provést:
-
u úlohy pro stahování e-mailů či automatické odesílání existujících e-mailů - právy uživatele (resp. jeho role), pod kterým se naplánovaná úloha má spouštět (tj. uživatele přímo v definici naplánované úlohy v položce Spustit jako, není-li vyplněn, pak uživatele v nastavení automatizačního serveru) k účtům, z nichž se má elektronická pošta stáhnout resp. přes který se má odeslat.
Jedná se o úlohy typu Odeslání připravených elektronických zpráv resp. Příjem elektronických zpráv. Účty, které má zpracovat daná naplánovaná úloha, se specifikují přímo v parametrech dané úlohy.
Pokud se jedná o zasílání vzkazů na externí e-mailové adresy, pak účet, který se má použít pro odeslání zadaného vzkazu na externí e-mailovou adresu, se zadává přímo v údajích vzkazu, viz adresát typu 4 (e-mail).
- u úlohy "Upozornění na servisovaný předmět" pro e-maily s daným upozorněním - právy uživatele (resp. jeho role), pod kterým se naplánovaná úloha má spouštět, k účtu, přes který se má e-mail poslat. Účet, o který se jedná, je v tomto případě dán v nastavení automatizačního serveru.
-
u všech úloh u e-mailů vytvářených v rámci odesílání zpráv po dokončení úlohy, tj. u úloh, které mají nastaveno, že se má po dokončení úlohy odeslat zpráva zadaným adresátům na externí e-mailové adresy (adresát typu 4 (e-mail)) - právy uživatele v nastavení automatizačního serveru (jelikož pod tím se tyto zprávy posílají) k účtu, přes který se má e-mail poslat, což je v tomto případě rovněž účet daný v nastavení automatizačního serveru.
Dále tento uživatel musí mít dostatečná přístupová práva k řadám dokladů a ke středisku zadaným v definici daného e-mailového účtu, jelikož se jedná rovněž o chráněné objekty. (Aby bylo možné generovat záznamy odeslaných a doručených e-mailů přes daný e-mailový účet.)
Pokud k účtu nemá daný uživatel přístupové právo, úloha se neprovede a skončí s chybou.
Z výše uvedeného plyne: Aby bylo možné generovat odeslané a doručené e-maily přes daný účet, musí být použit takový e-mailový účet z agendy E-mailové účty, ke kterému má uživatel právo.

Situace | Příčina | Řešení / Dopady |
---|---|---|
Aktuálně se zpracovává maximální počet úloh | Nastavení maximálního počtu úloh nedovoluje spustit další úlohu čekající ve frontě. |
Nestane se nic kritického. Plánovací smyčka pokračuje dále a úlohy jsou zařazovány do fronty podle plánu. Pokud však AutoServer nestihne úlohy zpracovat včas, začne fronta narůstat a úlohy se začnou zpožďovat. |
Průchod Plánovací smyčkou přesáhne nastavený interval | Interval je příliš krátký vzhledem k počtu spojení, nad kterými AutoServer pracuje. |
Nestane se nic kritického. Úlohy budou zařazeny do fronty později, což způsobí jejich zpožděné spuštění oproti původnímu plánu. |
Narůstá počet násilně ukončených úloh | Uživatel ukončil úlohu nebo došlo k závažné chybě při spuštění AutoServerSlave.exe. |
Kritický problém nastane pouze, pokud počet násilně ukončených úloh přesáhne 10 000. V takovém případě může dojít k vyčerpání systémových prostředků a nestabilitě operačního systému. |
Vyčerpání všech dostupných GDI nebo USER objektů | AutoServer nebo AutoServerSlave spotřebovává nadměrné množství těchto systémových prostředků. |
Kritický problém, který by za běžných podmínek neměl nastat. Možnou příčinou je nevhodně naprogramovaná úloha, která spotřebovává příliš mnoho prostředků. |
Na úloze je nastaveno, že má dojít k jejímu násilnému ukončení. | Uživatel nebo program nastavil aktuálně zpracovávané úloze, že má dojít k jejímu násilnému ukončení. |
Nestane se nic kritického. Automatizační server ukončí AutoServerSlave.exe a do Historie spuštění úlohy zapíše výsledek Nekorektně ukončeno s poznámkou Proces zpracovávající úlohu byl ukončen na základě požadavku uživatele nebo programu. |
V kódu zpracovávajícím naplánovanou úlohu dojde k výjimce | V objektu nebo scriptu je chyba, která vede k vygenerování výjimky. |
Nestane se nic kritického. Výjimku si odchytí již AutoServerSlave a zapíše jí do Historie spuštění úlohy spolu s výsledkem Chyba. Automatizační server nic řešit nemusí. |
Ztráta spojení AutoServer s AppServer | Zrušení spojení v AutoServerProp nebo dojde k výpadku sítě, ale Aplikační server stále běží. |
Nestane se nic kritického. Automatizační server si na začátku Plánovací smyčky kontroluje, zda existuje spojení na Aplikační server. Pokud ne, pokusí se ho vytvořit. Pokud se mu to nepovede, vygeneruje výjimku a opět se o to pokusí po uplynutí intervalu, ve kterém se opět začne zpracovávat Plánovací smyčka. Po dobu výpadku nejsou naplánované úlohy zpracovávány ani zařazovány do fronty. V okamžiku, kdy se podaří opět vytvořit spojení na Aplikační server AutoServer pokračuje dále ve své činnosti. |
Ukončení aplikačního serveru | Uživatel ukončí aplikačního server nebo dojde k restartu počítače, na kterém je Aplikační server spuštěn. | Platí totéž, co v bodě Ztráta spojení AutoServer s AppServer. S tím, že po opětovném spuštění aplikačního serveru již tento nemá k dispozici informace o dříve zaregistrovaných AutoServerech a to až do doby, než běžící AutoServery opět odešlou v Plánovací smyčce informace AppServeru. V AppServerProp se tedy již nezobrazí informace o AuoServerech, které před startem nového AppServeru “umřeli“. |
AutoServer se neočekávaně ukončí | Fatální problém v Autoserver způsobí jeho ukončení nebo AutoServer někdo ukončí ručně ve správci úloh. |
"Svázání" AutoServerSlave procesů s AutoServer procesem zajišťuje ukončení AutoServerSlave na úrovni operačního systému. Poté je třeba AutoServer znovu spustit. |
AutoServer se zasekne | Plánovací smyčka přestane fungovat. |
K této situaci by docházet nemělo. Pokud však nastane bude ji možné nově zjistit v AutoServerProp.exe. AutoServer totiž informuje AppServer o aktuálním kroku, který zpracovává, přičemž v AutoServerProp je vidět čas, kdy bylo zpracování daného kroku spuštěno (sloupec Poslední aktivita). V případě, že v Plánovací smyčce dojde k výjimce, je tato chyba rovněž vidět v AutoServerProp na záložce Chyby. |
Z nějakého důvodu přestane fungovat spouštěcí smyčka. |
K této situaci by docházet nemělo. Pokud by se tak stalo, bylo by to patrné v AppServerProp.exe, kde by na záložce“Naplánované úlohy připravené ke spuštění zůstávaly nespuštěné úlohy, aniž by byl spuštěn maximální povolený počet úloh. |
|
Naplánovaná úloha běží déle, než je interval jejího spuštění | Četnost opakování je větší než doba, za kterou se naplánovaná úloha zpracuje. |
Nestane se nic kritického. Dokud je daná naplánovaná úloha ve frontě, AutoServer jí podruhé do fronty nezařadí. V praxi tedy dojde pouze k tomu, že daná naplánovaná úloha se začne zpracovávat později (až poté, co její předchozí zpracování doběhne). |
V AutoServerSlave dojde k neošetřené výjimce | Nemělo by normálně nastat. Může být působeno chybou v jádru AbraGen. |
Nestane se nic kritického. AutoServerSlave vrátí Automatizačnímu serveru informaci o tom, že volání skončilo výjimkou. Automatizační server pak tuto výjimku zapíše do Historie spuštění úlohy spolu s výsledkem Chyba. |
AutoServerSlave se neočekávaně ukončí | Fatální chyba v AutoServerSlave nebo jeho ruční ukončení. |
Nestane se nic kritického. Automatizačnímu serveru se buď nepodaří otevřít kontrolní událost na AutoServerSlave nebo při kontrole fronty zjistí, že se v ní nachází úloha, pro kterou již neexistuje Proces s daným PID. V obou případech Automatizační server do Historie spuštění úlohy zapíše výsledek Nekorektně ukončeno s poznámkou Proces zpracovávající úlohu byl neočekávaně ukončen. |
AutoServerSlave se nespustí ve stanoveném čase |
AutoServer spouštějící AutoServerSlave.exe nedostane do stanoveného času od operačního systému informaci o tom, že AutoServerSlave nastartoval. Důvodem může být extrémní vytížení počítače, na kterém AutoServer běží. Nicméně k této situaci by nemělo běžně docházet, protože ve výchozím stavu je aktuálně limit nastaven na 10 minut, ale lze ho konfiguračně změnit. |
Nestane se nic “kritického”. Automatizační server zapíše vzniklou situaci do Historie spuštění úlohy spolu s výsledkem “Nekorektně ukončeno” a naplánovanou úlohu vyřadí z fronty. Poté, co AutoServerSlave naběhne, dojde v něm k výjimce, protože se nepodaří navázat spojení s AutoServerem (na straně AutoServeru dojde k uvolnění kontrolní události, prostřednictvím které si AutoServerSlave kontroluje, zda žije AutoServer, který jej spustil). AutoServerSlave se na základě toho sám ukončí. |
AutoServerSlave nepřepne úlohu do stavu Pracuje v daném čase |
Poté co AutoServerSlave naběhne, měl by v poměrně krátkém čase přepnout úlohu ze stavu Spouští se do stavu Pracuje. AutoServer mu na to dá 1 minutu, poté co naběhl. Důvodem může být extrémní vytížení počítače, na kterém AutoServer běží. |
Nestane se nic kritického. Automatizační server násilně ukončí AutoServerSlave a zapíše vzniklou situaci do Historie spuštění úlohy spolu s výsledkem “Nekorektně ukončeno” a naplánovanou úlohu vyřadí z fronty. |