القسم 1 finalize يُرجع 422 „بيانات نهائية غير صحيحة" رغم صحة الحمولة

مرحباً، أنا أعمل على N8N102 - القسم 1 (خط أنابيب تكامل API) وعالق في نقطة التفتيش النهائية.

عقدة FinalizePipeline الخاصة بي ترسل هذا الحمل إلى /course/n8n102/finalize:

{
“total_orders”: 50,
“enterprise_count”: 12,
“batch_size”: 10,
“retry_enabled”: true
}

أتلقى خطأ 422:
“Invalid final data counts. One or more of your counts is incorrect.”

ما تحققت منه:

  • ترقيم صفحات GetOrders يعمل بشكل صحيح ويعيد 50 طلباً بالضبط
  • FilterDelivered يعيد بشكل صحيح 12 طلب مؤسسة غير مسلم
  • كل من SendToOrdersQueue و SendToPriorityQueue أعادت استجابات ناجحة في أحدث تشغيل كامل لي
  • جميع القيم في حمل الإنهاء من النوع الصحيح (أرقام/قيمة منطقية، وليس سلاسل نصية)

تخميني هو أن هذا قد يكون مرتبطاً بتقديم سابق أثناء التصحيح - لقد أكملت في الأصل “نقطة تفتيش تقييم قائمة الانتظار للطلبات” قبل إضافة ترقيم الصفحات، عندما كان orders_queued 10 بدلاً من 50. من المحتمل أن الخادم لا يزال يقارن مع هذا العدد السابق بدلاً من أحدث تشغيل لي.

هل يمكن لأحد أن يساعدني في التحقق من حالة الخادم الخلفي لتقييمي، أو أخبرني بكيفية إعادة تعيين التقدم لهذا القسم حتى أتمكن من إعادة الإرسال بشكل نظيف؟

معرّف التقييم: 7369d82545c8b10f9f5ae4f1b3579603

شكراً مقدماً!

مرحبا @muktern8n أهلا وسهلا!
الخطأ يسمي عدداتك وليس تقدمك، لذا هذا هو الحمولة وليس حالة backend قديمة. batch_size هي القيمة الوحيدة التي لا تطابق الخطوة 2.7، التي تستخدم 5. اضبط BatchPriorityOrders على حجم دفعة من 5، وأعد تشغيل سير العمل بالكامل دفعة واحدة، وأنهِ باستخدام batch_size: 5.
انظر إلى هذا:

@muktern8n يمكنك العثور على الإجابة هنا!

بناءً على ما قاله Anshul، نظراً لوجود خيط يحتوي على رسالة الخطأ الدقيقة لديك (وليس رسالة “Progress incompleted”) حيث أكد Jamie من فريق n8n حجم الدفعة ونشر لقطة شاشة للتشغيل المرجعي:

هناك شيئان من هذا الخيط يجب أن يكونا مفتوحين عند إعادة التشغيل.

تعطيك لقطة الشاشة طريقة للتحقق من صحة التشغيل قبل أن تصل إلى finalize. مع 12 طلب مؤسسة وحجم دفعة قدره 5، يجب أن يُظهر BatchPriorityOrders 4 عمليات تشغيل ويجب أن يُظهر SendToPriorityQueue 3 (5، 5، 2). إذا كانت عقدة قائمة الانتظار ذات الأولوية لا تزال تظهر 2، فإن الحلقة لا تزال على 10 ولن أثق في استدعاء finalize حتى يتغير هذا الرقم. total_orders 50 و enterprise_count 12 الخاصان بك متطابقان تماماً مع ما يُظهره التشغيل المرجعي، لذا batch_size هو حقاً الرقم الوحيد الذي يكون غير صحيح.

الشيء الآخر الذي استمر Jamie في الإشارة إليه، سواء في هذا الخيط أو في خيط “Missing required parameter: total_orders” من الأسبوع الماضي، هو الأنواع. إذا كان جسم FinalizePipeline على “Using Fields Below” وكتبت 50 و true مباشرة في حقول القيمة، فإنها تخرج كسلاسل نصية، حتى لو كانت تبدو صحيحة في واجهة المستخدم.

مرحباً @muktern8n

أعتقد أن المشكلة تكمن في batch_size.

للنقطة المرجعية النهائية، يجب أن تكون 5 وليس 10. القيم الأخرى لديك تبدو صحيحة:

{
“total_orders”: 50,
“enterprise_count”: 12,
“batch_size”: 5,
“retry_enabled”: true
}
سأغير BatchPriorityOrders إلى حجم دفعة 5، ثم قم بتشغيل سير العمل الكامل من البداية إلى النهاية وأرسل النقطة المرجعية النهائية.

لذا لا أعتقد أن هذا مرتبط بـ orders_queued: 10 الذي تم إرساله مسبقاً أو حالة الخادم الخلفي المخزنة مؤقتاً. الخطأ 422 الذي تحصل عليه يشير بشكل محدد إلى الأعداد النهائية، و batch_size: 10 هي القيمة التي لا تتطابق مع متطلبات المقرر الدراسي.

شكراً لك يا Subham، كان batch_size: 5 هو الحل بالفعل، وتعمل SendToPriorityQueue الآن بنجاح (جميع الدفعات خضراء، تم تأكيد 12 عنصراً).

ومع ذلك، عادت FinalizePipeline إلى خطأ مختلف: “Progress incompleted. You have not completed all steps in this assessment.” هذا محيّر لأنه في هذا التشغيل الكامل نفسه: - تم تأكيد SendToOrdersQueue orders_queued: 50 - تعمل SendToPriorityQueue بنجاح لجميع الدفعات (12 عنصراً إجمالاً) - FinalizePipeline payload: { “total_orders”: 50, “enterprise_count”: 12, “batch_size”: 5, “retry_enabled”: true } نجح كل شيء في هذا التشغيل، ومع ذلك تقول خطوة الإنهاء أن التقدم غير مكتمل.

يبدو أن هذا مشابه لما أبلغ عنه مستخدم آخر أعلاه مع مشكلة مماثلة. هل يمكن لأحد أن يتحقق من حالة نقطة التفتيش الخلفية لرقم التقييم الخاص بي؟

رقم التقييم: 7369d82545c8b10f9f5ae4f1b3579603

@muktern8n لا يلزم فحص الواجهة الخلفية، العيب في سير العمل الخاص بك. لقد أدرجت الطلبات المصطفة بـ 50 كإثبات على نجاح الخطوة 1، لكن في موضوع آخر، قيل أن جزء الخطوة 1 يريد فقط 10، لذا تحتاج إلى تعطيل الترقيم.

و

شكراً على الرد، لكن أعتقد أن هذا قد لا يكون صحيحاً — وثيقة المقرر تنص بوضوح في الخطوة 2.1-2.2 على أن الترقيم يجب أن يُرجع 50 طلباً، وكود التأكيد لنقطة التفتيش هذه يتضمن حرفياً “PAGED-ORDERS-QUEUE” في اسمه، وقد استقبلته بنجاح. بقية التمرين (20 مؤسسة / 30 آخرون، 12 غير مُسلّمة) لا تستحق المعنى إلا مع 50 طلباً، وليس 10.

هل يمكنك مشاركة موضوع النقاش المحدد حيث تم ذكر “10 فقط”؟ أريد التأكد من أنني لا أغفل بعض السياق الآخر، لكن بناءً على نسختي من مواد المقرر، يبدو أن الترقيم إلى 50 خطوة مطلوبة وليست اختيارية.

@muktern8n هذا هو الرابط @jamiemadden_n8n هو مساعد الأكاديمية الرسمي، لذا ما قاله يجب أن ينجح!

آسف، إنه ليس رابطًا حرفيًا، الرابط يتم اختصاره، فقط انقر على البرتقالي وقم بالتمرير لأعلى