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