Maximální počet položek | Maximální počet položek, které mohou v objektu PmaSequencer najednou čekat.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MaxSize. Hodnota -1 představuje neomezené množství položek. Omezení je vhodné pro zabránění projektantských chyb, kdy by počet čekajících položek mohl růst nade všechny meze. |
---|---|
Typ spouštění položek | Smysl timeoutu. Timeout se zadává v metodě Add.
0 = položky se spouští nezávisle, každá podle svého timeoutu - To znamená, že timeout je doba mezi zařazením položky (metodou Add) a jejím spuštěním (událostí onStep).
1 = položky se spouští postupně, timeout je zpoždění mezi nimi - To znamená, že timeout je doba mezi uvolněním předchozí položky a spuštěním následující položky.
Pokud při volání metody Add není v objektu žádná čekající položka a poslední položka byla spuštěna před větší dobou než je timeout, pak bude tato nová položka spuštěna okamžitě. |
Použité vlákno (thread) | Určuje vlákno (thread), ve kterém bude spouštěn skript události onStep. Volba "nové pracovní vlákno" znamená, že tento objekt PmaSequencer vytvoří nové vlákno dané priority po spuštění aplikace. Viz také: Jak spouštět vybrané skripty v jiném vlákně (threadu). |
Timeout při zastavování před ukončením pracovního vlákna [s] | Platí pouze pro nové pracovní vlákno! Časový limit (timeout), po který systém při zastavování aplikace čeká na ukončení právě prováděné položky, po kterém dojde k násilnému ukončení pracovního vlákna (násilné ukončení je však nebezpečné a nežádoucí). Pokud se žádná položka právě neprovádí, nebo se právě prováděná položka stihla regulérně ukončit v daném časovém limitu, pak se pracovní vlákno ukončí regulérně (případné čekající položky ve frontě se ignorují). Pracovní vlákno lze při zastavování aplikace regulérně (bezpečně) zastavit pouze pokud se právě neprovádí žádná položka. Pokud se právě provádí, pak je nutno chvíli počkat, až se ukončí. Aby se nečekalo příliš dlouho (pokud došlo k nečekaně dlouhému provádění položky) existuje časový limit, po který bude systém čekat, než ukončí pracovní vlákno násilně.
Upozornění! Za normálních okolností by projektant měl zajistit, aby nedocházelo k násilnému ukončení požadavků (pracovního vlákna). Toho lze dosáhnout nejjednodušeji tím, že se nastaví dostatečný časový limit i pro nejdelší požadavek. Časově náročný požadavek lze často zkrátit tak, že při zastavení aplikace se nastaví uživatelská globální proměnná, indikující zastavování aplikace. A při zpracovávání požadavku potom tuto proměnnou testovat a v případě detekce zastavování aplikace požadavek předčasně ukončit i když nebude proveden do konce. Toto je extrémně vhodné při dlouhých iteračních výpočtech nebo při zpracování jednotlivých položek velkého souboru dat. Pro zadání lze použít Makro výraz (vyhodnocuje se po spuštění aplikace). |