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

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

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

症状

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

原因

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

在某些情况下,异步工作流最终可能会快速调用多次,从而导致在短时间内创建大量系统作业。 出现这种情况的原因是,批量操作会主动触发工作流,或者在其他工作流和/或以高频率调用工作流的插件中出现错误的逻辑。

异步服务可用的资源有限,如果此类失控工作流填满了其积压工作,则性能下降会普遍影响所有系统作业。 此外,由于在这种情况下生成的作业量很大,数据库大小也会增加。

解决方案

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

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

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

进行中的 剩余作业将保持不受影响,并按预期完成。 积压工作将在一段时间内稳步流失,以恢复到名义水平。