locked
Workflow Retry parameters RRS feed

  • Question

  • We have stumbled upon an issue when some workflows will fail if too many workflows are run at the same time causing collision.

    However, there are two convenient XML parameters in workflow rule definition. They are even available as override parameters:

    <RetryExceptions/> -(string) this parameter was always empty in all build in workflows that I have seen

    <RetryDelaySeconds>60</RetryDelaySeconds> - As for Authoring tool – “If the workflow fails to run, retry after specified interval”

    I have yet to witness at least one workflow, that would be automatically retried after failure after nominated delay.

    So the questions are:

    1. How does the Retry action expresses itself?
    2. What values can I use in <RetryExceptions/> or it is just another useless parameter form SCOM origin?
    3. Is there another way to automatically rerun the failed workflows?
    Wednesday, July 25, 2018 7:32 AM

All replies

  • I have found some Workflow Foundation XML, that defines possible overrides and the necessary override parameter, hoewer there seems no information on actual override XML structure itself

    <WriteActionModuleType ID="ServiceManager.WorkflowFoundationWriteAction" RunAs="SMCore!Microsoft.SystemCenter.ServiceManager.WorkflowAccount" Accessibility="Public" Batching="false">
    <Configuration>
    <IncludeSchemaTypes>
    <SchemaType>SCOMWF!Microsoft.SystemCenter.WorkflowFoundation.WorkflowFoundationWriteActionSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="AssemblyName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    <xsd:element name="WorkflowTypeName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    <xsd:element name="WorkflowIdentifier" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    <xsd:element name="WorkflowParameters" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    <xsd:element name="RetryExceptions" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    <xsd:element name="RetryDelaySeconds" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1" default="10"/>
    <xsd:element name="MaximumRunningTimeSeconds" type="MaximumRunningTimeSecondsType" minOccurs="1" maxOccurs="1" default="290"/>
    <xsd:element name="LogFailureEvent" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="false"/>
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="AssemblyName" ParameterType="string" Selector="$Config/AssemblyName$"/>
    <OverrideableParameter ID="WorkflowTypeName" ParameterType="string" Selector="$Config/WorkflowTypeName$"/>
    <OverrideableParameter ID="WorkflowIdentifier" ParameterType="string" Selector="$Config/WorkflowIdentifier$"/>
    <OverrideableParameter ID="WorkflowParameters" ParameterType="string" Selector="$Config/WorkflowParameters$"/>
    <OverrideableParameter ID="RetryExceptions" ParameterType="string" Selector="$Config/RetryExceptions$"/>
    <OverrideableParameter ID="RetryDelaySeconds" ParameterType="int" Selector="$Config/RetryDelaySeconds$"/>
    <OverrideableParameter ID="MaximumRunningTimeSeconds" ParameterType="int" Selector="$Config/MaximumRunningTimeSeconds$"/>
    <OverrideableParameter ID="LogFailureEvent" ParameterType="bool" Selector="$Config/LogFailureEvent$"/>
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Managed>
    <Assembly>Microsoft.EnterpriseManagement.HealthService.Modules.WorkflowFoundation, Culture="", PublicKeyToken=31bf3856ad364e35, Version=6.0.4900.0</Assembly>
    <Type>Microsoft.EnterpriseManagement.HealthService.Modules.WorkflowFoundation.WorkflowFoundationWriteActionModule</Type>
    </Managed>
    </ModuleImplementation>
    <OutputType>SCOMWF!Microsoft.SystemCenter.WorkflowFoundation.WorkflowFoundationOutputDataItem</OutputType>
    <InputType>System!System.BaseData</InputType>
    </WriteActionModuleType>
    

    <RetryExceptions>
                <RetryException>Microsoft.EnterpriseManagement.Common.DiscoveryDataModificationCollisionException, Microsoft.EnterpriseManagement.Core, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</RetryException>
    </RetryExceptions>

    Thursday, July 26, 2018 7:23 AM