工作流程永远等待

时间:2014-04-09 13:29:24

标签: dynamics-crm dynamics-crm-2013

我有一个工作流,它在创建实体时运行,并创建另外两个实体并将它们放在队列中。然后等待,直到每个实体的状态原因设置为完成。之后继续。

基本上两个团队将处理订单,然后在两个团队完成后继续处理。

大部分时间都有效。但有时它会永远等待。我会重新激活并重新解决其他任务,但它永远不会醒来。

我该怎么办?工作流程实际上不够强大,我没有超时轮询(没有循环)。我想避免使用这些其他实体的更改插件来获得所有分散的工作流行为。

编辑: 重新启动CRM服务(不确定是哪个,我重新启动它们)允许恢复工作流程。但是,我仍然想知道如何使它更可靠。

1 个答案:

答案 0 :(得分:0)

我在CRM 2011中遇到了与工作流相同的问题(以及更多),并决定不使用它们(除了非常特殊的用途)。 主要原因是它们的错误处理非常有限。另一个原因是将它们置于源控制之下是不方便的。另一个原因是:Worflows无法脱机运行,也不支持用户模拟。如需比较,请点击此处: http://goo.gl/9ht1QJ

使用插件代替工作流程,然后您就可以完全控制。

但请记住,插件(与工作流程不同)不适用于长时间运行的任务。 因此,它们的默认最大执行时间为120秒,并且不具有状态/持久性。但在大多数情况下(我认为也适用于你的情况)这不是问题。 只需改变一下你的事件:

  • 实现并注册一个插件步骤:创建实体并创建另外两个实体并将它们放在队列中
  • 实施并注册另一步:实体的状态原因设置为完成,查询其他实体并检查状态,如果已完成继续处理

如果你真的不想为你的业务逻辑使用插件,你可以考虑实现一个重启/恢复故障工作流的插件。 但那不是一个很好的解决方案。