Règle Expiration du flux de travail WF

Microsoft.SystemCenter.ServiceManager.WWF.Monitoring.RuleRunning (Rule)

Analyse les expirations dans les flux de travail WF.

Knowledge Base article:

Résumé

L’état du flux de travail apparaît comme « Correct », mais a rencontré une exception. Vérifiez que le résultat attendu a été obtenu, sinon, l’action qui a été effectuée pour démarrer le flux de travail doit peut-être être recommencée.

Causes

Si un flux de travail ne termine pas une activité dans les 25 minutes, il expire. Le flux de travail est peut-être bloqué dans la phase de démarrage ou de planification, et apparaît sous l’onglet « Nécessite une attention » qui se trouve dans la console Service Manager, dans l’affichage de l’administration/des flux de travail/des états pour ce type de flux de travail concerné. Il existe plusieurs causes d’expiration des flux de travail, par exemple, s’ils s’exécutent quand le service est redémarré, si la file d’attente est longue ou si le retour des API est trop long.

Résolutions

Element properties:

TargetMicrosoft.SystemCenter.ServiceManager.SmManagementServer
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Expiration du flux de travail WF
La règle {0} envoyée par {2} terminée a été exécutée pendant plus de 25 minutes.{3}

Member Modules:

ID Module Type TypeId RunAs 
DBProbe DataSource Microsoft.SystemCenter.ServiceManager.Monitoring.OledbProbe.WWFWorkflows2 Default
Filter ConditionDetection System.ExpressionFilter Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.ServiceManager.WWF.Monitoring.RuleRunning" Enabled="true" Target="SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Custom</Category>
<DataSources>
<DataSource ID="DBProbe" TypeID="Microsoft.SystemCenter.ServiceManager.Monitoring.OledbProbe.WWFWorkflows2">
<IntervalSeconds>1800</IntervalSeconds>
<SyncTime/>
<ConnectionString/>
<Query/>
<GetValue>true</GetValue>
<IncludeOriginalItem>true</IncludeOriginalItem>
<OneRowPerItem>true</OneRowPerItem>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.ServiceManager.WWF.Monitoring.Rule.AlertMessageRunning"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Columns/Column[1]$</AlertParameter1>
<AlertParameter2>$Data/Columns/Column[2]$</AlertParameter2>
<AlertParameter3>$Data/Columns/Column[3]$</AlertParameter3>
<AlertParameter4>$Data/Columns/Column[4]$</AlertParameter4>
<AlertParameter5>$Data/Columns/Column[5]$</AlertParameter5>
<AlertParameter6>$Data/Columns/Column[6]$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Columns/Column[6]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>