【问题标题】:windows workflow 4 workflow stallsWindows 工作流 4 工作流停止
【发布时间】:2011-03-29 19:40:43
【问题描述】:

我有一个停滞不前的 Windows 工作流程。通过停止我的意思是托管在 iis 中的工作流超过了挂起的计时器,而没有继续下一步。如果我创建另一个工作流,它将再次启动工作流引擎,但我真的不想创建一个工作流来执行此操作。

该工作流程旨在运行 30 天。我们现在正在测试它,为了测试它,我编写了一些代码来为模拟日提取配置文件值。现在 5 分钟等于 1 天,所有逻辑都基于从模拟天数计算的时间跨度。查看 InstancesTable 我发现它正确设置了 PendingTimer(而且我知道 PendingTimer 与我的时区不同)。 SuspensionExceptionName 或 SuspensionReason 列中没有异常,服务器的事件日志中也没有任何异常。

那么我可以做些什么来排除故障或找出问题所在?

【问题讨论】:

    标签: iis workflow-foundation-4


    【解决方案1】:

    听起来 IIS 正在回收 AppDomain 并且 WorkflowServiceHost 没有重新加载,因为没有外部请求进入。如果您使用的是 Windows Server AppFabric,您可以将其配置为立即重新启动 AppDomain 和 WorkflowServiceHost。否则,您可以从工作流服务请求 WSDL 以“手动”加载 WorkflowServiceHost。

    【讨论】:

    • 看起来可以满足我的需要。谢谢。
    • 如果该服务是公开可用的,您可以使用类似uptimerobot.com 的方式自动为您请求 WSDL。如果是在内部编写一些 Windows 服务来执行此操作,那么这是一个微不足道的练习。
    【解决方案2】:

    您不应该这样做。出了点问题 - AppFabric 工作流管理服务应该使用 Durable Timers 唤醒您的工作流。

    检查 Windows 事件日志以查看您是否从该服务收到错误。

    【讨论】:

    • 这个服务器没有AppFabric也无法安装,太旧了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多