生成大量系统作业和日志的工作流

本文提供了一个解决异步工作流创建大量系统作业和日志的问题。

适用于: Microsoft Dynamics 365
原始 KB 编号: 4562256

症状

异步工作流会在短时间内快速调用,从而生成大量系统作业。 这会使异步服务紧张,导致需要处理的积压工作激增,从而导致性能下降,最终影响所有系统作业。 此外,由于大量异步操作和关联的工作流日志,还会导致数据库大小增加。

原因

激活并触发异步工作流时,Microsoft Dynamics 365 异步服务将排队并根据可用资源处理新作业。

在某些情况下,异步工作流最终可能会被快速调用几次,导致在短时间内创建大量系统作业。 这种情况的发生是由于大容量操作会主动触发工作流,或者在其他一些工作流和/或插件中错误地触发工作流,而该工作流和/或插件会以高频率调用它。

可用于异步服务的资源受到限制,如果其积压工作流由这种失控的工作流填充,则广泛影响所有系统作业的性能降低很常见。 此外,由于此类方案中生成的作业量很大,数据库大小也会增加。

解决方案

在这种情况下,一旦标识的工作流停用,异步工作流基础结构能够在一定程度上自我愈合。 实现此目的的步骤如下所示:

  1. 导航到“设置进程”>,然后选择相关的工作流。 或者,使用 高级查找查找工作流。
  2. 选择后,选择 “停用 ”以禁用工作流并将其设置为 “草稿 ”状态。 (如果不需要)也可以在此时删除工作流(如果不需要)。

执行上述步骤后,将不再创建新作业。 此外,在停用之前已创建并放置在异步队列中 ,但尚未被选取进行处理 的任何作业将在被选取进行处理时立即取消。 这将有助于更快地排干异步积压工作。

其余已 在进行 中的作业将不受影响,并将按预期完成。 积压工作将在一段时间内稳步耗尽,恢复到名义级别。