2012-03-29 1 views
1

Actuellement, dans notre application de flux de travail, s'il rencontre une exception non gérée, il rechargera le flux de travail de l'état persistant le plus récent et réessayera. Existe-t-il des moyens de configurer comment cela fonctionne exactement? Si un service est en panne par exemple, le flux de travail se rechargera toutes les secondes et tentera de fonctionner à nouveau, alors que s'il y a plusieurs flux de travail, tous faire la même chose peut entraîner des milliers d'exceptions par minute. Je pense que l'utilisation des propriétés timeToPersist et timeToUnload sur workflowIdle pourrait avoir quelque chose à voir avec cela. À l'heure actuelle, nous avons cet ensemble à:Réessayer période après une exception non gérée dans un flux de travail

Si je mets timeToUnload à 1 minute ce que cela signifie le flux de travail ne pourra recommencer une fois par minute?

Répondre

0

TimeToPersist et TimeToUnload n'entrent pas en jeu ici - ces valeurs déterminent la durée d'inactivité d'un flux de travail avant sa persistance/déchargement.

Vous pouvez probablement utiliser WorkflowApplication.OnUnhandledException pour créer un gestionnaire d'exceptions fourre-tout (en supposant que vous utilisez cette classe pour créer des workflows).

http://msdn.microsoft.com/en-us/library/system.activities.workflowapplication.onunhandledexception.aspx

+0

Ce sont IIS hébergés des flux de travail de xamlx ce qui est un no go - il est sur la gestion des exceptions - tout ce qu'il fonctionne à 100% la façon dont je le veux, je connecte les exceptions à l'aide de suivi des flux de travail. Le seul problème est que les flux de travail sont repris et retentés immédiatement. Si j'ai des milliers de workflows en cours d'exécution et qu'un service tombe en panne, je peux avoir des milliers de tentatives par minute (et donc des milliers d'échecs), ce qui ajoute beaucoup de charge supplémentaire sur le serveur. Je voudrais le définir de sorte que les flux de travail attendent une minute avant de réessayer. – Wiredness