Sdílet prostřednictvím


Konfigurace trvalosti pracovních postupů pomocí rutin technologie Windows Server AppFabric

Rutiny technologie AppFabric je možné použít k získání nebo zadání nastavení trvalosti systému SQL Server pro služby pracovních postupů. Funkce trvalosti můžete nakonfigurovat na úrovni služby pro konkrétní službu pracovního postupu, nebo v oboru serveru, webu či aplikace a nechat službu zdědit toto nastavení definované na vyšší úrovni. Další informace o fungování konfigurací v hierarchii služby IIS naleznete v tématu Proces konfigurace v technologii Windows Server AppFabric.

Poznámka

Chcete-li interaktivně spustit rutinu technologie AppFabric, je třeba použít konzolu prostředí Windows PowerShell pro technologii Windows Server AppFabric, zadat odpovídající rutinu a stisknout klávesu ENTER. Další obecné informace o spouštění rutin technologie AppFabric naleznete v tématu Spouštění rutin technologie Windows Server AppFabric. Podrobné informace o parametrech oboru (-SiteName, -VirtualPath, -Uri a dalších) naleznete v tématu Obor rutiny. Podrobné informace o parametrech předávání (ApplicationInfo a ServiceInfo) naleznete v tématu Předávání rutin.

Toto téma obsahuje oddíly, které popisují způsob konfigurace funkcí trvalosti systému SQL Server pro službu pracovního postupu.

Konfigurace funkcí trvalosti systému SQL Server pro služby pracovních postupů pomocí rutin

Tento oddíl popisuje, jak lze pomocí rutin technologie AppFabric získat, nastavit nebo vymazat hodnoty elementů a atributů souvisejících s trvalostí systému SQL Server v konfiguračním souboru přidruženém k zadanému oboru.

Rutina

Popis

Get-ASAppSqlServicePersistence

Získá hodnoty elementů a atributů souvisejících s trvalostí pro element sqlWorkflowInstanceStore v konfiguračním souboru přidruženém k zadanému oboru.

Set-ASAppSqlServicePersistence

Nastaví hodnoty elementů a atributů souvisejících s trvalostí pro element sqlWorkflowInstanceStore v konfiguračním souboru přidruženém k zadanému oboru.

Clear-ASAppSqlServicePersistence

Vymaže nebo odebere element sqlWorkflowInstanceStore z konfiguračního souboru přidruženého k zadanému oboru.

Možnosti syntaxe rutiny Get-ASAppSqlServicePersistence

// to get workflow service persistence settings at the root level
Get-ASAppSqlServicePersistence -Root

// to get workflow service persistence settings at the Web site level
Get-ASAppSqlServicePersistence -SiteName <String> 

// to get workflow service persistence settings at the virtual application or service level that the VirtualPath points to 
Get-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

// to get workflow service persistence settings at the site, virtual application or service level that the Uri points to
Get-ASAppSqlServicePersistence -Uri <Uri> 

// to get workflow service persistence settings at the application level specified by the ApplicationObject.
Get-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Get-ASAppSqlServicePersistence

// to get workflow service persistence settings at the service level specified by the Service Object
Get-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Get-ASAppSqlServicePersistence

Možnosti syntaxe rutiny Set-ASAppSqlServicePersistence

Set-ASAppSqlServicePersistence [-SiteName] <String> [[-VirtualPath] <String>] [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-Uri] <Uri> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-Root] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Následující tabulka uvádí parametry, které jsou specifické pro rutinu Set-ASAppSqlServicePersistence.

Parametr

Popis

HostLockRenewalPeriod

Určuje interval, ve kterém musí hostitel obnovit zámek instance služby pracovního postupu před vypršením platnosti zámku. Pokud hostitel v zadaném časovém období zámek neobnoví, bude instance služby pracovního postupu odemčena a může ji uzamknout jiný hostitel.

InstanceCompletionAction

Určuje, zda mají být informace o stavu instance po dokončení instance služby pracovního postupu zachovány v databázi trvalosti. Povolené hodnoty tohoto parametru: DeleteAll a DeleteNothing.

InstanceEncodingOption

Určuje, zda mají být informace o stavu instance před uložením do úložiště trvalosti komprimovány pomocí algoritmu GZip. Možné hodnoty jsou GZip a None.

InstanceLockedExceptionAction

Určuje, jakou akci má hostitel služby provést, pokud přijme výjimku InstanceLockedException způsobenou tím, že se hostitel pokusil uzamknout instanci služby pracovního postupu, která je nyní uzamčena jiným hostitelem. Povolené pro toto pole jsou: NoRetry, BasicRetry a AggressiveRetry. Následující seznam obsahuje popisy těchto tří možností:

  • NoRetry. Hostitel služby se nepokusí uzamknout instanci služby pracovního postupu a předá volajícímu výjimku InstanceLockedException. Pokud pracovní postup zůstane v paměti déle než 60 sekund, použijte pro opakování možnost NoRetry. Výchozí hodnota je NoRetry.

  • BasicRetry. Hostitel služby se bude opakovaně pokoušet uzamknout instanci služby pracovního postupu s lineárním intervalem mezi jednotlivými pokusy o opakování a na konci sekvence předá volajícímu výjimku InstanceLockedException. Pokud pracovní postup zůstane v paměti přibližně 5 až 60 sekund a zprávy jsou doručovány v dávkách, takže je pravděpodobnější, že budou odeslány stejné instanci ve stejném hostiteli a všechny zprávy tak budou zpracovány před uvolněním pracovního postupu, použijte základní opakování (BasicRetry), aby bylo dosaženo co nejlepší latence a nedošlo k plýtvání prostředky.

  • AggressiveRetry. Hostitel služby se bude opakovaně pokoušet uzamknout instanci služby pracovního postupu s exponenciálním intervalem mezi jednotlivými pokusy o opakování a na konci sekvence předá volajícímu výjimku. Pokud pracovní postup zůstane v paměti velmi krátce (méně než 5 sekund) nebo je webová farma velká a pravděpodobnost, že bude stejnému hostiteli doručena jiná zpráva, není příliš vysoká, použijte agresivní opakování (AggressiveRetry), aby bylo dosaženo co nejlepší latence.

Poznámka

U základního (BasicRetry) i agresivního (AggressiveRetry) opakování je časový limit automaticky nastaven na časový limit volání a nelze jej konfigurovat.

Interval zjišťování spustitelných instancí

Určuje časové období, po jehož uplynutí úložiště instancí pracovních postupů SQL spustí úlohu zjišťování spustitelných nebo aktivovatelných instancí pracovních postupů v databázi trvalosti po předchozím cyklu zjišťování.

Poznámka

Je potřeba zadat pouze hodnotu parametru, který chcete změnit; není nutné zadávat hodnoty všech parametrů.

Možnosti syntaxe rutiny Clear-ASAppSqlServicePersistence

Clear-ASAppSqlServicePersistence -Root

Clear-ASAppSqlServicePersistence -SiteName <String> 

Clear-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

Clear-ASAppSqlServicePersistence -Uri <Uri> 

Clear-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Clear-ASAppSqlServicePersistence

Clear-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Clear-ASAppSqlServicePersistence

  2011-12-05