【发布时间】:2011-06-13 06:22:28
【问题描述】:
我已经发布了一个关于此的问题 (Abandoned instances that will not continue execution (zombie instances)),但仍然没有得到答案。
我注意到与上一个问题的不同之处在于,当服务操作配置未处理异常设置为 AbandonAndSuspend 时,也会发生这种情况。
因此,该方案是使用 AppFabric 持久性存储在 IIS 中托管的长期工作流服务。该服务执行一些操作,然后从数据库轮询结果。该轮询每 30 分钟进行一次。由于某种原因,WF 卡住了,没有做任何其他事情。检查 InstancesTable 我可以看到一个过去的待定计时器和一个旧的 LastUpdateTime。
我发现的唯一解决方法是暂停然后恢复实例,这显然是一个痛苦的过程(这种情况下大约有 5000 个实例)。
提前致谢
【问题讨论】:
-
在暂停和恢复操作后它们是否恢复正常操作?
-
我忘了问:您现在在跟踪的事件中看到任何错误吗?
-
您好,是的,他们恢复正常操作。跟踪的事件会在一段时间后被删除,所以我看不到,但我猜如果有实例会被暂停。
-
我认为这个问题可能与节流和可运行实例检测周期配置有关。 WMS 是否有可能只获取最大并发实例数,如果时间足够长,它就没有时间真正选择所有实例?
-
@Dortró:节流限制不会暂停工作流,它只会让它们在队列中等待更长时间的执行。您确实需要更改跟踪以使事件保持更长时间,因为猜测它们被暂停的原因不会让您走得太远。
标签: workflow-foundation workflow-foundation-4 appfabric