صِفْ المشكلة/الخطأ/السؤال
لدي عقدة تتفرع إلى فرعين متوازيين. يبدأ كل فرع بعقدة Data Table “Get”، وكلا عقدتي Get تتلقيان نفس عنصر الإدخال بالضبط من العقدة الأب المشتركة.
إحدى عقد Get المتوازية تعمل بشكل جيد. الأخرى ببساطة لا تُنفَّذ على الإطلاق. والشيء المضحك هو أن الفرق الوحيد بين العقدتين هو الجدول الذي تشير إليه. كل شيء آخر متطابق، نفس الإدخال، نفس العملية، نفس الإعدادات.
لقد تحققت بالفعل من الأشياء الواضحة:
- تم التحقق من وجود الجدول الذي تشير إليه العقدة الفاشلة.
- تم التحقق من البيانات داخل ذلك الجدول، إنها موجودة.
- أضفت شرطًا (مرشح) إلى العقدة، لم يساعد.
- حاولت نقل العقدة على لوحة الرسم، لم يساعد.
- اشتبهت في أن العقدة ببساطة لم يكن لديها وقت كافٍ للتنفيذ (نوع من الوقت/المنافسة)، فتحققت من ذلك بعناية. هذا ليس هو الحال.
- أعدت إنشاء العقدة من الصفر، لم يساعد.
- أعدت توصيلها بالجدول، لم يساعد.
- غيرت اختيار الجدول من “اختر من القائمة” إلى “بواسطة المعرّف”، وأيضًا إلى “بالاسم”، لم يساعد.
الشيء الوحيد الذي جعلها تعمل بطريقة ما كان نقل العقدة أسفل السلسلة بكثير، تقريبًا 10 عقد لاحقًا. ثم حاولت نقلها 5 عقد فقط، وعقدة واحدة للخلف، وتوقفت عن العمل مرة أخرى. إذن موضع العقدة في السلسلة يبدو أنه مهم، وهو ما لا أفهمه لعقدة تقرأ جدولًا فقط.
هذا يصبح فشلًا حقيقيًا عندما تشير عقدة لاحقة إلى العقدة بالاسم باستخدام $('Get node B').all(). بما أن تلك العقدة لم تُنفَّذ أبدًا، تُرجع المرجعية لا شيء، في حين أن عقدة Get الشقيقة على نفس الإدخال تعمل بشكل مثالي.
لماذا ترفض عقدة Get المتوازية واحدة التنفيذ بينما تعمل الشقيقة بنفس الإدخال بشكل جيد، ولماذا يؤدي نقلها فقط أسفل السلسلة بكثير إلى إصلاح المشكلة؟
ما هي رسالة الخطأ (إن وجدت)؟
لا توجد رسالة خطأ على العقدة Get نفسها، إنها ببساطة لا تعمل. ثم تفشل العقدة اللاحقة لأن العقدة المُشار إليها لم تُنفَّذ أبدًا.
شارك الإخراج الذي أرجعته آخر عقدة
(Get node A: تُرجع صفوفها كما هو متوقع. Get node B، نفس الإدخال: لا توجد عملية، لا إخراج.)
معلومات حول إعداد n8n الخاص بك
- إصدار n8n: 2.25.7
- قاعدة البيانات (الافتراضية: SQLite): n8n الافتراضية
- تشغيل n8n عبر (Docker، npm، سحابة n8n، تطبيق سطح المكتب): سحابة n8n
- نظام التشغيل: سحابة n8n
