إصلاح بالذكاء الاصطناعي: نقرة واحدة عندما يفشل النشر
عندما يفشل النشر على Mythex، تخبرك النافذة الآن بما حدث فعلاً، وتمنحك زرين في كل حالة فشل: إصلاح بالذكاء الاصطناعي وحاول مرة أخرى. يمرّر إصلاح بالذكاء الاصطناعي الفشلَ وما طبعه تطبيقك إلى الوكيل، فيستطيع إصلاح المشروع ونشره من جديد. وإذا لم يكن هناك خطأ في تطبيقك، فإنه ببساطة يعيد النشر. كما توقفنا عن إلقاء اللوم على «جانبنا» في مشكلات كانت في التطبيق نفسه، وبدأنا نلتقط التطبيقات التي تتعطل بعد دقائق من نشرها.
ما الذي تغيّر
إصلاح بالذكاء الاصطناعي في كل حالة فشل
قبل ذلك، كان بعض حالات الفشل يعرض إصلاح بالذكاء الاصطناعي وبعضها يعرض «حاول مرة أخرى» فقط. وكان التقسيم مبنياً على من يبدو مسؤولاً عن الفشل: إن بدا أنه على جانبنا، فلم نكن نريد للوكيل أن يطارد كوداً سليماً على حسابك من الرصيد.
كان ذلك يتركك تخمّن نوع الفشل الذي تواجهه. الآن تعرض كل حالة فشل الزرين. يحصل الوكيل على نوع الفشل والمخرجات التي تقف وراءه، فيصلح التطبيق إذا كان فيه خطأ، ويعيد النشر إذا لم يكن فيه خطأ. لا تحتاج إلى معرفة أي الحالتين كانت.
الاستثناءات هي الحالات التي لا يكون حلها في الكود. اسم الرابط المأخوذ يقترح أسماء أخرى، ونفاد الرصيد يعرض طريقة للحصول على المزيد.
رسائل تقول ما حدث
كانت عدة حالات فشل تنتهي برسالة «مشكلة من جانبنا، انشر مرة أخرى»، وهذا غير صحيح، وإعادة النشر لم تكن تفيد أبداً. الآن لكل منها رسالة خاصة:
- «لم يبدأ تطبيقك بعد النشر.» نُشر التطبيق لكنه لم يبدأ قبول الاتصالات أبداً. وغالباً يستمع على منفذ مختلف، أو على
localhostفقط. يجب أن يستمع التطبيق المنشور على0.0.0.0وعلى المنفذ الموجود في$PORT. بدلاً من الانتظار مدة ثابتة والأمل في الأفضل، نتحقق الآن من أن التطبيق يقبل الاتصالات فعلاً على منفذه. - «هذا الملف كبير جداً» / عدد ملفات كبير. للمواقع الثابتة حد لحجم كل ملف (نحو 25 إلى 30 ميغابايت، بحسب نوع الموقع) وسقف يبلغ 20,000 ملف. نقيس الآن المجلد قبل رفع أي شيء، بالطريقة نفسها لكل أنواع الملفات، وتسرد الرسالة كل ملف يتجاوز الحد.
- «توقف تطبيقك مباشرةً بعد بدئه.» غالباً بسبب إعداد مفقود مثل متغير بيئة أو سر، أو تعطّل عند أول طلب، أو خطأ في أمر التشغيل.
التقاط التطبيقات التي تتعطل بعد النشر
قد ينجح النشر ويفشل التطبيق بعد دقائق: يستمر في التعطل، أو يعمل لكنه يتوقف عن قبول الاتصالات. يفحص Mythex التطبيقات المنشورة بانتظام. إذا تعطل التطبيق مراراً خلال دقائق قليلة، أو كان يعمل دون أن يقبل أي اتصال، يُعلَّم النشر فاشلاً، وتصلك رسالة بالبريد، ويعرض المشروع الرسالة مع زر إصلاح بالذكاء الاصطناعي.
إذا تعطل التطبيق مرة واحدة ثم تعافى من تلقاء نفسه، فلا يُحسب ذلك نشراً فاشلاً. وإذا كان السبب نفاد الذاكرة، تصلك رسالة منفصلة بالبريد عن ذلك.
عندما نعلّم تطبيقاً حياً بأنه فاشل، نحفظ أيضاً ما طبعه التطبيق في تلك اللحظة. لن ترى هذا الخرج الخام أبداً، لكنه ما يحصل عليه الوكيل عند الضغط على إصلاح بالذكاء الاصطناعي، فيبدأ من الخطأ الحقيقي بدلاً من التخمين.
كيف تستخدمه
- اضغط نشر كالمعتاد.
- إذا فشل النشر، اقرأ الرسالة في النافذة. كُتبت لتخبرك بما حدث، لا بأن شيئاً ما قد حدث فحسب.
- اضغط إصلاح بالذكاء الاصطناعي. يقرأ الوكيل مخرجات البناء أو سجلات التطبيق، ويصلح المشروع، ويمكنك بعدها النشر من جديد.
- إذا قالت الرسالة إن تطبيقك سليم، مثل «النشر مشغول لحظة» أو «توقف النشر»، فغالباً يكفي حاول مرة أخرى.
- إذا وصلتك رسالة بالبريد بأن تطبيقاً حياً يتعطل باستمرار، افتح المشروع: الرسالة نفسها وزر إصلاح بالذكاء الاصطناعي بانتظارك هناك.
احتفظ باسم الرابط نفسه عند إعادة النشر، إلا إذا قالت الرسالة إن الاسم هو المشكلة.
لماذا بنيناه
غالباً ما يكون النشر الفاشل أول حائط حقيقي يصطدم به الشخص. يعمل التطبيق في المعاينة، فيضغط «نشر» ولا يعمل. بالنسبة لشخص ليس مطوّراً، فإن «تحقق من السجلات» ليست نصيحة يستطيع التصرف بها. يحوّل إصلاح بالذكاء الاصطناعي تلك اللحظة إلى نقرة واحدة، والرسائل الصادقة تعني أنه عندما تقرؤها، فإنها تشير إلى الشيء الصحيح.
الحدود
- يستخدم إصلاح بالذكاء الاصطناعي الوكيل، لذلك يستهلك رصيداً مثل أي رسالة أخرى.
- يستطيع إصلاح ما في مشروعك: الكود والإعدادات وأمر التشغيل. لا يستطيع إصلاح اسم رابط مأخوذ، أو بريد إلكتروني غير موثّق، أو رصيد رسائل فارغ.
- بعض المشكلات تتطلب قراراً منك، مثل نقل ملف كبير إلى التخزين أو تصغيره.
كل رسالة وما ينبغي فعله حيالها موثّق في الدليل: استكشاف أخطاء النشر. وللمهارة الأوسع في إصلاح الأمور عندما تسوء، راجع كيف تصحح تطبيقاً بُني بالذكاء الاصطناعي.