异步服务重新启动后,重复出现的工作流会发生什么情况



我们的组织正在计划将我们的部分业务模式建立在CRM 2011中重复工作流程的前提下。然而,我们有时会遇到备份工作流队列的问题,或者由于某种原因需要重新启动服务器(更新汇总等),或者以其他方式发现我们必须重新启动CRM的异步服务。

在这种情况下,处于"等待"阶段的任何工作流会发生什么?

  • 我在AsyncOperationBase表中看到了带有"等待"statuscode的工作流;当服务恢复在线时,它会查看此表并相应地恢复吗
  • 在上面的场景中,如果服务被停止,并且在此期间,工作流到达其PostponeUntil日期,会发生什么?该服务是否会查看所有不完整的未来回溯工作流,并决定如何处理每个工作流?还是工作流完全失败了

这个过程中的任何失败显然都会破坏CRM系统的这一元素,我们必须开发一个外部组件来处理重复项目。

我希望会有一些关于这方面的文档,但我只能猜测WaitSubscription类与这个主题有关,但它在很大程度上没有文档。

目前,由于异步进程的黑盒性质,我们决定使用外部服务来管理它。跟踪对数据库服务器的调用确实显示了对AsyncOperationBase表的大量调用,这往往让我相信服务总是检查是否正在完成任务,但在没有极端测试的情况下,目前使用单独的服务来满足这一要求更安全。

相关内容

最新更新