concurrencyPolicy - Zásady souběžnosti (concurrencyPolicy)

Sada chování a omezení, která se vztahují na úlohy schopné asynchronního provedení, jako např. maximální souběžnost a maximální velikost fronty.

NameTypeDefaultDescription
idřetězecJedinečné ID konfigurace.
maxPolicy
  • loose
  • strict
looseOznačuje, zda má být maximální souběžnost úloh spuštěných v podprocesu zadavatele úlohy vynucována volně nebo přísně. Úlohy v podprocesu zadavatele úlohy mohou být spuštěny při použití metody untimed invokeAll, resp. při použití metody untimed invokeAny v případě vyvolání jediné úlohy. Pokud je nakonfigurován atribut run-if-queue-full (Spustit, pokud je fronta plná), je rovněž možné, aby úlohy spustily podproces zadavatele úlohy při použití metod execute a submit. Ve všech těchto případech tento atribut určuje, zda se spuštění v podprocesu zadavatele počítá nebo nepočítá do maximální souběžnosti.
loose
Maximální souběžnost je vynucována volně. Úlohy mohou být v podprocesu zadavatele úlohy spuštěny, aniž by se počítaly do maximální souběžnosti.
strict
Maximální souběžnost je vynucována přísně. Úlohy spuštěné v podprocesu zadavatele úlohy se počítají do maximální souběžnosti. Tato zásada neumožňuje spuštění úloh v podprocesu zadavatele úlohy, pokud již bylo dosaženo maximální souběžnosti.
maxWaitForEnqueueČasové období s přesností na milisekundy0Určuje maximální dobu čekání na zařazení úlohy do fronty. Pokud nebude možné úlohu do fronty během tohoto intervalu zařadit, bude odeslání úlohy podléhat zásadě run-if-queue-full (Spustit, pokud je fronta plná). Aktualizace maximální doby čekání na zařazení do fronty se vztahuje až na úlohy odeslané po okamžiku aktualizace. Odeslané úlohy, které již čekaly na pozici ve frontě, v ní budou čekat dále podle dříve nakonfigurované hodnoty. Zadejte kladné celé číslo následované jednotkou času, což může být hodina (h), minuta (m), sekunda (s) nebo milisekunda (ms). Například 500 milisekund zadejte jako 500ms. Do jedné položky můžete zahrnout více hodnot. Například 1s500ms je ekvivalentní 1,5 sekundy.
runIfQueueFullbooleanfalseUplatní se při použití metod <execute> nebo <submit>. Označuje, zda se má při naplnění fronty a překročení maximální doby čekání na zařazení do fronty úloha spustit v podprocesu zadavatele, či nikoli. Je-li zásada maxima nastavena na přísnou, je schopnost spuštění v podprocesu zadavatele dále podmíněna omezením maximálním souběžnosti. Pokud úlohu nelze spustit na podprocesu zadavatele, odeslání úlohy se po uplynutí maximální doby čekání na zařazení do fronty zamítne.
maxint
Min: 1
Určuje maximální počet úloh, které mohou být souběžně spuštěny. Výchozí hodnota je Integer.MAX_VALUE. Maximální souběžnost může být aktualizována, zatímco úlohy probíhají. Pokud bude maximální souběžnost snížena pod počet souběžně spuštěných úloh, aktualizace vejde v platnost postupně, tak jak budou dokončovány probíhající úlohy, nikoli jejich zrušením.
maxQueueSizeint
Min: 1
Určuje maximální počet úloh, které mohou čekat ve frontě na provedení. Úlohy jsou z fronty odebrány při spuštění, zrušení nebo předčasném ukončení. Pokud je po naplnění kapacity fronty odeslána další úloha, je chování určeno atributem maximální doby čekání na zařazení do fronty a atributem run-if-queue-full (Spustit, pokud je fronta plná). Chcete-li zajistit, že bude možné během krátkého časového intervalu zařadit do fronty určitý počet úloh, použijte maximální velikost fronty odpovídající nejméně této hodnotě. Výchozí maximální velikost fronty je Integer.MAX_VALUE. Maximální velikost fronty může být aktualizována, zatímco úlohy probíhají nebo jsou zařazeny do fronty k provedení. Pokud bude maximální velikost fronty snížena pod počet úloh ve frontě, aktualizace vejde v platnost postupně, nikoli zrušením přebytečných úloh ve frontě.
startTimeoutČasové období s přesností na milisekundyUrčuje maximální dobu, která může uplynout mezi odesláním úlohy a jejím spuštěním. Při výchozím nastavení úlohy nemají časový limit. Pokud je povolena jak maximální doba čekání na zařazení do fronty, tak časový limit spuštění, nakonfigurujte časový limit spuštění tak, aby byl delší než maximální doba čekání na zařazení do fronty. Pokud bude časový limit spuštění aktualizován během použití, bude nová hodnota časového limitu platit pro úlohy odeslané po provedení aktualizace. Zadejte kladné celé číslo následované jednotkou času, což může být hodina (h), minuta (m), sekunda (s) nebo milisekunda (ms). Například 500 milisekund zadejte jako 500ms. Do jedné položky můžete zahrnout více hodnot. Například 1s500ms je ekvivalentní 1,5 sekundy.