انتظار
Wait
توقف و تأخیر: Wait، Sleep، زمانبندی و Resume
نمای کلی
نود Wait چیست؟
نود Wait اجرای Workflow را متوقف میکند و پس از شرایط مشخص ادامه میدهد.
سه حالت Wait:
- 1After Time Interval: توقف به مدت مشخص (ثانیه/دقیقه/ساعت/روز)
- 2At Specified Time: ادامه در تاریخ و ساعت مشخص
- 3On Webhook Call: ادامه پس از دریافت درخواست Webhook
چرا Wait لازم است؟
- Rate Limiting: تأخیر بین API calls (مثلاً 1 ثانیه بین هر درخواست)
- Scheduling: اجرای بخشی از Workflow در زمان خاص
- Human in the Loop: انتظار برای تأیید انسانی (Webhook)
- Retry with Delay: تأخیر قبل از تلاش مجدد
- Batch Processing: تأخیر بین دستهها در Loop
- Polling: بررسی دورهای وضعیت
تفاوت Wait با Cron:
- Wait: توقف وسط Workflow (inline delay)
- Cron/Schedule: شروع Workflow در زمان مشخص
نکته مهم:
Wait در حالت زمانی، Workflow execution را "به خواب" میبرد. n8n دادهها را ذخیره کرده و پس از زمان مشخص Workflow را از همان نقطه ادامه میدهد.
احراز هویت
بدون نیاز به احراز هویت - نود Wait یک نود داخلی n8n است.
عملیاتهای موجود
تأخیر زمانی
توقف Workflow به مدت مشخص. پس از اتمام زمان، اجرا ادامه مییابد.
در زمان مشخص
ادامه Workflow در تاریخ و ساعت مشخص. مناسب برای زمانبندی اقدامات آینده.
انتظار Webhook
توقف تا دریافت درخواست Webhook. مناسب برای تأیید انسانی و callback.
تأخیر تصادفی
تأخیر تصادفی بین حداقل و حداکثر. مناسب برای شبیهسازی رفتار انسانی.
تأخیر بر اساس Expression
محاسبه مدت تأخیر با Expression. مناسب برای تأخیر متغیر بر اساس داده.
کاربردهای متداول
موارد استفاده رایج
۱. Rate Limiting API
Loop > HTTP Request > Wait 1 second > بازگشت به Loop. جلوگیری از 429 Too Many Requests.
۲. ارسال ایمیل با تأخیر
ارسال ایمیل خوشآمدگویی > Wait 24h > ارسال ایمیل آموزشی > Wait 3 days > ارسال ایمیل پیشنهاد.
۳. تأیید انسانی (Human in the Loop)
درخواست مرخصی > ارسال به مدیر (ایمیل با لینک تأیید) > Wait for Webhook > ثبت نتیجه.
۴. Polling وضعیت
ارسال سفارش > Wait 5 min > بررسی وضعیت > اگر "pending": بازگشت به Wait > اگر "done": ادامه.
۵. Batch با تأخیر
Loop (batch 10) > پردازش > Wait 10s > batch بعدی. مدیریت Rate Limit.
۶. ارسال پیام زمانبندیشده
ساخت پیام > Wait تا ساعت 9 صبح > ارسال در Slack/Telegram.
۷. Retry with Backoff
خطا > Wait 1s > تلاش دوم > Wait 4s > تلاش سوم > Wait 16s (Exponential Backoff).
۸. یادآوری
ثبت Task > Wait تا Deadline - 1 day > ارسال یادآوری.
۹. A/B Testing
ارسال نسخه A > Wait 24h > بررسی نتایج > ارسال نسخه B > Wait 24h > مقایسه.
۱۰. کمپین Drip Email
ثبتنام > ایمیل ۱ > Wait 2d > ایمیل ۲ > Wait 3d > ایمیل ۳ > Wait 5d > ایمیل ۴.
۱۱. انتظار پرداخت
ایجاد فاکتور > Wait for Webhook (Payment Gateway Callback) > ثبت پرداخت.
نکات حرفهای
نکات و ترفندها
Rate Limiting محاسبه
- API limit: 100 req/min
- Delay = 60/100 = 0.6 ثانیه
- Safety margin: 1 ثانیه بین هر درخواست
- یا Batch 10 + Wait 6 ثانیه
Exponential Backoff
- تلاش ۱: Wait 1s
- تلاش ۲: Wait 2s
- تلاش ۳: Wait 4s
- تلاش ۴: Wait 8s
- فرمول: delay = baseDelay * 2^(attempt-1)
Human in the Loop Pattern
- 1ارسال ایمیل/Slack با لینکهای Approve/Reject
- 2Wait for Webhook
- 3لینک Approve: POST webhook-url?action=approve
- 4لینک Reject: POST webhook-url?action=reject
- 5IF: action === "approve"
Wait + Loop = Rate Limiter
بهترین الگو:
- 1Loop: batch size 1
- 2API Call
- 3Wait: 1 second
- 4بازگشت به Loop
زمانبندی هوشمند
- صبح (۹-۱۲): ارسال ایمیلهای تجاری
- بعدازظهر (۱۴-۱۷): پیگیری
- شب: پشتیبانگیری و گزارش
- آخر هفته: Skip (IF + Wait)
Drip Campaign Pattern
ثبتنام → ایمیل خوشآمدگویی → Wait 1 day → ایمیل معرفی → Wait 3 days → ایمیل آموزشی → Wait 7 days → ایمیل پیشنهاد → Wait 14 days → ایمیل بازخورد
ادغام با سایر نودها
- Loop: Rate Limiting بین batches
- IF: شرط ادامه بعد از Wait
- HTTP Request: API call بعد از delay
- Email/Slack: ارسال بعد از زمانبندی
- Error Trigger: Retry after delay
Wait vs Schedule
- Wait: تأخیر وسط Workflow (inline)
- Schedule Trigger: شروع Workflow در زمان مشخص
- Cron Trigger: اجرای تکراری (هر ساعت، هر روز)
حداکثر Wait
- تئوری: بدون محدودیت
- عملی: چند روز تا یک هفته
- برای Wait طولانیتر: از Schedule Trigger استفاده کنید
- Wait طولانی حافظه و ذخیرهسازی مصرف میکند
رفع مشکلات
عیبیابی
۱. Wait هرگز ادامه نمییابد
مشکل: Workflow بعد از Wait ادامه پیدا نمیکند راهحل: n8n باید در حالت Production باشد (نه Manual). بررسی کنید n8n در حال اجرا بماند. از n8n cloud یا PM2/systemd استفاده کنید.
۲. Wait Webhook دریافت نمیشود
مشکل: Webhook URL جواب نمیدهد راهحل: URL صحیح باشد (production URL). n8n Webhook URL در دسترس باشد. HTTP method درست باشد.
۳. زمان Wait دقیق نیست
مشکل: Workflow زودتر یا دیرتر از انتظار ادامه مییابد راهحل: n8n هر چند دقیقه sleeping workflows را بررسی میکند. برای دقت بالا از Cron استفاده کنید. Timezone بررسی شود.
۴. دادهها بعد از Wait از بین رفتند
مشکل: متغیرها بعد از Wait خالی هستند راهحل: n8n دادهها را ذخیره و بازیابی میکند. اما External connections (مثل DB connection) بسته میشوند. دوباره اتصال بزنید.
۵. حافظه مصرف میشود
مشکل: Workflowهای زیاد در حالت Wait حافظه مصرف میکنند راهحل: تعداد Workflowهای همزمان Wait را محدود کنید. از Wait طولانی (>7 روز) اجتناب کنید. Timeout تنظیم کنید.
۶. Wait در Manual Execution کار نمیکند
مشکل: Wait در حالت Test/Manual اجرا نمیشود راهحل: Wait فقط در Production mode کامل کار میکند. در Manual mode، Wait skip میشود یا مقدار کمی صبر میکند.
۷. Execution Timeout
مشکل: Workflow قبل از پایان Wait به timeout میرسد راهحل: Wait طولانی از execution time جداست. اما n8n execution timeout باید بزرگتر از Wait باشد.
