我在每个项目中使用的 5 种 n8n 工作流模式

发布: (2026年2月22日 GMT+8 08:18)
4 分钟阅读
原文: Dev.to

Source: Dev.to

错误处理子工作流

不要在主工作流中到处散布错误处理逻辑。创建一个专用的错误处理子工作流:

Main Workflow → On Error → Call Error Handler Sub-Workflow

错误处理器应当:

  • 记录完整的错误上下文
  • 发送警报(Slack/邮件)
  • 保存失败的项目以便重试
  • 追踪错误发生频率

在一个地方统一管理所有错误逻辑。

在开头使用配置节点

在每个工作流的第一个节点放置一个 Set 节点,用于配置:

{
  "env": "production",
  "batchSize": 100,
  "retryAttempts": 3,
  "alertChannel": "#ops-alerts",
  "dryRun": false
}

无需修改其余逻辑即可改变行为。可以在此处切换干运行模式、调整批量大小等。

幂等性检查

在处理任何项目之前,先确认它是否已经被处理过:

// Check processed items table
const alreadyProcessed = await checkDatabase(item.id);
if (alreadyProcessed) {
  return []; // Skip
}

这可以防止:

  • 重复发送邮件
  • 双重收费
  • 重复的 API 调用

对于可能会重试的工作流尤为重要。

批量 + 延迟模式

当调用受速率限制的 API 时:

Split In Batches (10 items) → Process → Wait (1 second) → Loop

简单却能避免大多数速率限制问题。根据 API 的限制调整批量大小和延迟时间。

健康检查工作流

单独的工作流用于监控其他工作流:

  • 检查执行历史是否有失败
  • 验证预期的运行是否已发生
  • 测试关键 API 连接
  • 若出现异常则发送警报

每小时运行一次,提前发现问题,而不是等用户发现。

额外:日志记录模式

每个工作流都应记录:

  • 开始时间和触发信息
  • 处理的项目数量
  • 被跳过的项目及原因
  • 持续时间和结果

将日志存入简单的数据库,甚至是 Google Sheet。对调试价值巨大。

实施技巧

从简单开始。 不必在每个工作流里一次性加入所有模式,按需逐步引入。

使用子工作流。 错误处理、日志记录和通知应当可复用。

记录决策。 在 n8n 中添加注释,说明 为什么 这样实现。

版本控制。 定期导出工作流并存入 Git。

结果

工作流能够:

  • 优雅地处理失败
  • 易于调试
  • 在高负载下不崩溃
  • 安全地进行修改

这就是原型与生产环境之间的差别。

更多生产模式请参见

0 浏览
Back to Blog

相关文章

阅读更多 »

每周节省5小时的邮件自动化

如果你的收件箱感觉像是永无止境的待办事项清单,你并不孤单。每天,无数邮件堆积——重要请求、newsletter 推送,以及数十封 r...