手动、部分和生产执行#
n8n在手动执行工作流(通过点击测试工作流按钮)和自动执行工作流(当工作流处于激活状态并由事件或计划触发时)的方式上存在一些重要差异。
手动执行#
手动执行允许您直接从画布运行工作流来测试工作流逻辑。这些执行是"临时"的——它们仅在您手动选择测试工作流按钮时运行。
手动执行通过允许您按照流程逻辑并查看数据转换逐步进行迭代测试,使构建工作流更加容易。您可以通过提供不同的输入项和修改节点选项来测试条件分支、数据格式更改和循环行为。
固定执行数据
在执行手动执行时,您可以使用数据固定来"固定"或"冻结"某个节点的输出数据。您也可以选择编辑固定数据。
在未来的运行中,n8n将不再执行固定节点,而是替换固定数据并继续遵循流程逻辑。这使您能够在不对可变数据进行操作或重复查询外部服务的情况下进行迭代。生产执行会忽略所有固定数据。
部分执行#
点击编辑器标签页底部工作流中的测试工作流按钮可手动运行整个工作流。您还可以执行部分运行来执行工作流中的特定步骤。部分运行是仅运行工作流节点子集的手动执行操作。
要进行部分执行,请选择一个节点,打开其详细视图,然后选择测试步骤。这将执行特定节点以及填充其输入数据所需的任何前置节点。您还可以暂时禁用工作流链中的特定节点,以便在构建时避免与这些服务交互。
特别是部分执行在更新特定节点的逻辑时非常有用,因为它们允许您使用相同的输入数据重新执行该节点。
排查部分执行问题#
在运行部分执行时,您可能会遇到以下一些常见问题:
目标节点未连接到任何触发器。部分执行需要一个触发器。
当您尝试在没有将工作流连接到触发器的情况下执行部分执行时,会出现此错误消息。手动执行(包括部分执行)会尽可能模拟生产执行。这其中的一部分要求包含一个触发器节点来描述工作流逻辑应在何时执行。
为了解决这个问题,将一个触发器节点连接到工作流中你想要执行的节点。大多数情况下,手动触发器是最简单的选择。
请执行整个工作流,而不仅仅是单个节点。(现有执行数据过大。)
当对具有大量分支的工作流执行部分执行时,可能会出现此错误。部分执行涉及以完整执行不需要的方式将数据和工作流逻辑发送到n8n后端。当您的工作流超过这些消息允许的最大大小时,就会发生此错误。
为了解决这个问题,可以考虑在运行部分执行时使用limit node来限制节点输出。当工作流按预期运行后,您可以在启用生产执行前禁用或删除limit节点。
生产环境执行#
生产执行发生在触发事件或计划自动运行工作流时。
要配置生产环境执行,您必须附加一个触发器节点(除手动触发器外的任何触发器均可),并将工作流的开关切换为激活状态。一旦激活,当触发条件满足时,工作流将自动执行。
生产环境中的执行流程不会像手动执行那样显示在工作流的编辑器标签页中。相反,您可以根据工作流设置在工作流的执行标签页中查看执行记录。在那里,您可以使用编辑器调试功能来排查和解决问题。