مستندات n8n
74+ نود
⚠️

تریگر خطا

Error Trigger

مدیریت خطا: Error Handling، اعلان خطا و Recovery

منطق و کنترل
متوسط
۰ بازدید
n8n 1.0+

نمای کلی

نود Error Trigger چیست؟

نود Error Trigger یک Trigger نود است که وقتی Workflow دیگری با خطا مواجه شود، فعال می‌شود.

نحوه کار:

  1. 1یک Error Workflow بسازید با Error Trigger
  2. 2در تنظیمات Workflow اصلی، Error Workflow را مشخص کنید
  3. 3وقتی خطا رخ دهد، Error Workflow فعال می‌شود

داده‌های دریافتی:

  • execution.id: شناسه اجرا
  • execution.url: لینک به اجرای ناموفق
  • execution.error: شیء خطا
  • execution.error.message: پیام خطا
  • execution.error.node: نود خطادهنده
  • execution.lastNodeExecuted: آخرین نود اجراشده
  • workflow.id: شناسه Workflow
  • workflow.name: نام Workflow

سطوح Error Handling در n8n:

  1. 1Node Level: Continue on Fail (ادامه با خطا)
  2. 2Workflow Level: Error Workflow (اجرای Workflow جداگانه)
  3. 3Global Level: Error Workflow پیش‌فرض

تفاوت با Continue on Fail:

  • Continue on Fail: خطا در یک نود، بقیه ادامه دارند
  • Error Trigger: Workflow جداگانه اجرا می‌شود با اطلاعات کامل خطا

احراز هویت

بدون نیاز به احراز هویت - نود Error Trigger یک نود داخلی n8n است. در تنظیمات Workflow اصلی، Error Workflow انتخاب می‌شود.

عملیات‌های موجود

1

دریافت خطا

فعال شدن هنگام بروز خطا در Workflow مرتبط. داده‌های خطا شامل پیام، نود و زمان.

2

ارسال اعلان خطا

الگوی ارسال اعلان خطا از طریق Email، Slack، Telegram یا Discord.

3

لاگ خطا

ثبت خطا در دیتابیس، فایل یا سرویس Logging (مثل Sentry, Datadog).

4

Retry خودکار

تلاش مجدد برای اجرای Workflow ناموفق. با تأخیر بین تلاش‌ها.

5

اقدام اصلاحی

اجرای اقدام جایگزین هنگام خطا. مثلاً ذخیره در صف، ارسال به سیستم backup.

6

فیلتر خطا

فیلتر خطاها بر اساس نوع، نود یا پیام. فقط خطاهای خاص اعلان شوند.

کاربردهای متداول

موارد استفاده رایج

۱. اعلان خطا در Slack

Error Trigger > ساخت پیام (Workflow name + Error message + Time) > Slack Message در #alerts.

۲. اعلان ایمیل

Error Trigger > ساخت HTML ایمیل با جزئیات خطا > ارسال به تیم DevOps.

۳. لاگ در دیتابیس

Error Trigger > Insert در جدول error_logs (workflow, node, message, timestamp, input_data).

۴. ارسال به Sentry/Datadog

Error Trigger > HTTP Request به Sentry API > ثبت Exception با context.

۵. Retry خودکار

Error Trigger > IF (retryCount < 3) > Wait 5s > Execute Workflow (مجدد) > else > اعلان.

۶. Fallback Pattern

Error Trigger > IF (API خطا) > استفاده از API جایگزین > else > لاگ.

۷. اعلان Telegram

Error Trigger > Format message > Telegram Bot > ارسال به گروه مانیتورینگ.

۸. Ticket خودکار

Error Trigger > ساخت Ticket در Jira/Freshdesk با جزئیات خطا > Assign به تیم.

۹. Dashboard خطاها

Error Trigger > ذخیره در Google Sheets > Dashboard BI (نمودار خطاها در زمان).

۱۰. Circuit Breaker

Error Trigger > شمارش خطاهای اخیر > IF (errors > threshold) > غیرفعال کردن Workflow > اعلان.

۱۱. Rollback

Error Trigger > شناسایی عملیات ناقص > Undo actions (حذف رکوردهای ناقص) > لاگ.

۱۲. خلاصه خطاهای روزانه

Cron (هر شب) > خواندن خطاهای امروز از DB > ساخت گزارش > ارسال ایمیل خلاصه.

نکات حرفه‌ای

نکات و ترفندها

ساختار Error Workflow ایده‌آل

  1. 1Error Trigger
  2. 2Edit Fields: استخراج اطلاعات مفید
  3. 3IF: فیلتر خطاهای مهم
  4. 4Slack/Email: اعلان
  5. 5Database: لاگ ثبت

پیام خطای مفید

شامل:

  • نام Workflow
  • نام نود خطادهنده
  • پیام خطا
  • زمان وقوع
  • لینک به Execution
  • داده ورودی (اگر حساس نیست)

سطح‌بندی خطاها

  • Critical: سیستم‌های حیاتی (پرداخت، سفارش)
  • Error: عملکرد اصلی (ارسال ایمیل، API)
  • Warning: عملکرد فرعی (لاگ، آمار)
  • هر سطح کانال اعلان متفاوت

الگوی Error Handling جامع

  1. 1Node Level: Continue on Fail برای نودهای غیرحیاتی
  2. 2Workflow Level: Error Workflow برای مدیریت مرکزی
  3. 3Try/Catch: IF نود بعد از عملیات حساس
  4. 4Monitoring: Dashboard خطاها

Circuit Breaker Pattern

  1. 1هر خطا شمارش شود (Static Data)
  2. 2IF errors > 5 in 10 minutes:
  • Workflow را Deactivate کنید
  • اعلان Critical ارسال کنید
  • Manual intervention لازم است

Retry Strategy

  • Immediate: تلاش فوری (مشکلات گذرا)
  • Fixed Delay: Wait ثابت (مثل 30 ثانیه)
  • Exponential Backoff: 1s, 2s, 4s, 8s (API rate limit)
  • Circuit Breaker: توقف بعد از N شکست

ادغام با سایر نودها

  • Slack/Teams: اعلان خطا
  • Email: گزارش خطا
  • Telegram: اعلان فوری
  • Jira/Freshdesk: Ticket خودکار
  • HTTP Request: ارسال به Sentry/Datadog
  • Google Sheets: لاگ خطاها
  • IF: فیلتر خطاها
  • Wait: تأخیر قبل از Retry

بهترین شیوه‌ها

  • Error Workflow همیشه ساده باشد
  • از سرویس‌های Reliable استفاده کنید (Slack > Email)
  • اعلان‌ها را Rate Limit کنید
  • داده‌های حساس را لاگ نکنید
  • خطاها را دسته‌بندی کنید
  • Dashboard مانیتورینگ داشته باشید
  • Error Workflow را تست کنید

رفع مشکلات

عیب‌یابی

۱. Error Workflow فعال نمی‌شود

مشکل: خطا رخ می‌دهد اما Error Workflow اجرا نمی‌شود راه‌حل: Error Workflow باید Active باشد. در تنظیمات Workflow اصلی، Error Workflow انتخاب شده باشد. Error Workflow خودش نباید خطا بدهد.

۲. داده‌های خطا خالی‌اند

مشکل: اطلاعات خطا دریافت نمی‌شود راه‌حل: از execution.error.message استفاده کنید. بررسی کنید Workflow اصلی واقعاً خطا داده (نه Continue on Fail).

۳. Error Workflow خودش خطا می‌دهد

مشکل: حلقه بی‌نهایت خطا راه‌حل: Error Workflow باید ساده و مطمئن باشد. از Try/Catch pattern استفاده کنید. Error Workflow برای Error Workflow نسازید (n8n جلوگیری می‌کند).

۴. اعلان‌های تکراری

مشکل: یک خطا چندین اعلان تولید می‌کند راه‌حل: Deduplication اضافه کنید (بر اساس execution.id). Throttling: حداکثر 1 اعلان در 5 دقیقه.

۵. خطای Timeout اعلان نمی‌شود

مشکل: Workflow timeout خطا محسوب نمی‌شود راه‌حل: در برخی نسخه‌ها timeout خطا تولید نمی‌کند. از Cron + بررسی آخرین اجرای موفق استفاده کنید.

۶. Error Workflow فقط در Production

مشکل: در Manual test کار نمی‌کند راه‌حل: Error Workflow فقط در حالت Production (Active) فعال می‌شود. در Manual test، خطا مستقیماً نمایش داده می‌شود.

۷. Volume بالای خطا

مشکل: خطاهای زیاد باعث سیل اعلان می‌شود راه‌حل: Rate limiting روی اعلان‌ها. Aggregation: جمع‌آوری خطاها و ارسال خلاصه هر ساعت.

اشتراک‌گذاری:

آیا این مستندات مفید بود؟