n8n

حل مشكلة Infinite Loop في n8n — وقف الـ Workflow اللي ما يوقف

ما هي مشكلة الـ Infinite Loop في n8n؟

الـ Infinite Loop أو الحلقة اللانهائية هي واحدة من أكثر المشاكل شيوعاً عند بناء الـ workflows في n8n. تحدث عندما يستمر الـ workflow في التكرار بلا توقف، مما يستهلك كل الـ executions في n8n Cloud في غضون دقائق، أو يسبب امتلاء الـ memory على السيرفر الخاص وتعطل كل شيء.

ما السبب الجذري للمشكلة؟

السبب الأشيع هو أن متغير الـ counter يضيع بين الـ iterations. كل node في n8n يكتب بياناته فوق البيانات السابقة، فيرجع العداد إلى 1 في كل مرة ولا يصل أبداً إلى الـ max المحدد.

مشكلة أخرى شائعة جداً: case sensitivity في أسماء المتغيرات. إذا كتبت loopcounter بحرف صغير في node، والـ node الثاني يبحث عن loopCounter بحرف كبير، فالعداد لن يعمل وستقع في infinite loop بدون أن تعرف السبب.

الحل الأول: إصلاح أسماء المتغيرات

دائماً تحقق من أسماء المتغيرات في كل الـ nodes. n8n حساس لحالة الأحرف — حرف صغير أو كبير يكسر اللوب بالكامل. وحّد الاسم في كل مكان قبل ما تشغل الـ workflow.

الحل الثاني: استخدم $runIndex بدل Counter يدوي

n8n يوفر متغيراً مدمجاً اسمه $runIndex يبدأ من صفر ويزيد تلقائياً في كل iteration. لا يضيع، لا يُكتب فوقه، ولا تحتاج تمرره بين الـ nodes.

بدل ما تكتب:

{{ json.loopCounter + 1 $ }}

اكتب ببساطة:

{{ runIndex + 1 $ }}

بناء الـ Workflow الصحيح

  1. Set Node — يحدد loopCounter باستخدام $runIndex + 1 و maxIterations = 3
  2. HTTP Request Node — يمثل العملية التي تتكرر
  3. IF Node — يوجه التدفق للـ false branch دائماً لإبقاء اللوب يعمل
  4. Switch Node — يتحقق من الـ counter: إذا ≤ max يكمل، إذا > max يوقف
  5. Wait Node — انتظر ثانيتين بين كل iteration
  6. Stop and Error Node — يوقف الـ workflow برسالة واضحة

خلاصة — ثلاث قواعد لحماية workflows

  1. دائماً تحقق من أسماء المتغيرات — حرف صغير أو كبير يفرق
  2. استخدم $runIndex بدل counter يدوي دائماً
  3. حط دائماً Switch مع Stop and Error كـ exit condition

هذي الثلاث قواعد تحميك من أي infinite loop في n8n. اشترك في القناة عشان ما تفوتك الحلقات الجاية — كل أسبوع نحل مشكلة جديدة بالعربي. 🚀

حمّل الـ Workflow الجاهز مجاناً

وفّر ساعات من الإعداد — workflow جاهز للاستخدام فوراً

تصفح المكتبة الكاملة ←

إخلاء مسؤولية: موقع n8n-automation.io هو وكالة أتمتة ومدونة تعليمية مستقلة. نحن لسنا تابعين أو مرخصين أو مدعومين أو مرتبطين بأي شكل من الأشكال بشكل رسمي بشركة n8n GmbH أو بموقع n8n.io.

Disclaimer: n8n-automation.io is an independent automation agency and educational blog. We are not affiliated with, authorized, maintained, endorsed, or in any way officially connected with n8n GmbH or n8n.io.