后台工作流程的最佳实践
本主题包含创建和管理后台工作流程的最佳实践。
避免无限循环
在引发无限循环的后台工作流中,无法创建逻辑,这将消耗服务器资源并影响性能。 可能发生无限循环的典型情形是:如果您有一个配置为在更新列时启动的后台工作流,然后在该工作流的逻辑中更新列。 更新操作会触发更新行的相同后台工作流,从而不断地触发该后台工作。
您创建的工作流包括检测和停止无限循环的逻辑。 如果后台工作流程在短时间内对特定行的运行次数超过了某个数量,该流程将失败,并出现以下错误:已取消此工作流作业,因为启动它的工作流包含无限循环。请更正工作流逻辑,然后重试。次数限制为 16。
使用后台工作流模板
如果您有类似的工作流,并且您预期要创建多个遵循同一模式的工作流,可将您的后台工作流另存为工作流模板。 这样,下次需要创建类似的工作流时,使用该模板创建后台工作流,避免从头输入所有条件和操作。
在创建流程对话框中,选择从现有模板新建流程(从列表中选择)。
使用子工作流
如果您将相同的逻辑应用在不同的工作流中或条件分支中,可将该逻辑定义为子工作流,从而不必在每个后台工作流或条件分支中手动重复该逻辑。 这有助于使您的工作流更容易维护。 您不必检查可能应用相同逻辑的许多工作流,可以仅更新一个工作流。
自动删除已完成的后台工作流作业
对于后台(异步)工作流,我们建议选择后台工作流定义中的自动删除已完成工作流作业(以节省磁盘空间) 选项。 选中此复选框可让系统删除成功执行的后台工作流日志以节省空间。 请注意,将始终保存失败后台工作流执行的日志以进行故障排除。
限制更新同一个表的工作流的数量
运行多个更新同一实体的后台工作流可能会导致资源锁定问题。 想象一下每个商机更新触发一个对关联客户的更新的多个工作流在运行。 同时运行并尝试更新同一个客户行的工作流的多个实例可能会导致资源锁定问题。 后台工作流失败并会记录错误消息,如 SQL 超时:无法获取对资源资源名称的锁定。
使用注释来跟踪更改
在编辑工作流时,应使用“注释”选项卡,并键入您执行的操作及原因。 这可以让其他人了解您所做的更改。