في الآونة الأخيرة ، استغرقت مستنداتنا حوالي 14 دقيقة للبناء على شكل دائرة ، بينما استغرق إنشاءها في الإصدار السابق حوالي 6 دقائق. يبدو أن السبب الجذري لهذا التباطؤ هو أن الأعمال الخشبية تستنتج بعض المتغيرات الفئوية كنص مما يتسبب بعد ذلك في قيام AutoML باستخدام TextFeaturizer. ومع ذلك ، حتى إذا أصلحت ww الاستدلال القاطع مقابل النص ، فإن الوقت اللازم لإنشاء المستندات سيزداد حتمًا بينما نكتب المزيد من الوثائق. هذا يجعل من الصعب على المطورين التكرار على المستندات محليًا.
الحلول الممكنة:
نعم. لقد غيرت معيار إيقاف التشغيل التلقائي إلى max_batches=1
قبل أسبوعين أيضًا ، وهو ما لم يساعد.
أنا أحب الحلول التي ذكرتها! بالإضافة إلى واحد خاص بي:
أوصي بأن نذهب مع الخيار 2 ، ولكن مع وضع الخيار 3 في الاعتبار.
لقد لاحظت أن إنشاء المستندات يستغرق وقتًا أطول. أعتقد أن هذا محتمل بسبب تغيير مستندات automl في c871f3b لاستخدام مجموعة بيانات الاحتيال ، بدلاً من مجموعة بيانات سرطان الثدي (+ في مكان آخر؟) لعرض infer_problem_types ، نظرًا لأن مجموعة بيانات سرطان الثدي تحتوي فقط على أعمدة رقمية.
أظن أن هذه مشكلة / سبب مختلف لوقت إنشاء المستندات الأطول ، من الدقائق العشرين السابقة إلى الآن> 30 دقيقة ، ويمكن أن يكون جدير بالذكر!
تضمين التغريدة
حل آخر ممكن هو استخدام معالجات متعددة لبناء المستندات:
https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption -sphinx-build-j
التحديث بعد المناقشة معdsherry.
تؤدي إضافة علامة -j
إلى Makefile
الخاصة بنا إلى السماح لاختبار build docs
على circleci بالانتهاء بشكل أسرع ، كما هو موضح هنا . لسوء الحظ ، لا يقوم ReadtheDocs بتشغيل هذا الأمر ، مما يعني أن الإنشاء الفعلي للوثائق المنشورة لا يزال يستغرق بعض الوقت وغالبًا ما يتم إصلاح الأخطاء.
هذا ما يبدو عليه التصميم الناجح لـ ReadtheDocs ، حيث يستغرق إكماله ما يزيد قليلاً عن 20 دقيقة. تشير الاختلافات بين أوقات إنشاء HTML و Latex إلى أن بناء دفاتر Jupyter نفسها لا يستغرق الكثير من الوقت ، وهو أمر جيد.
ومع ذلك، فإننا نعثر أيضا الحالات التي فشل بناء مثل هذا . لاحظنا أنه لسبب ما ، يقوم ReadtheDocs بتشغيل التسلسل الكامل للأوامر مرتين ، مما يتسبب في أن يستغرق البناء وقتًا أطول (أكثر من 30 دقيقة لإنشاء ملفات HTML و Latex) ، ويؤدي إلى فشل إنشاء المستند. سأتابع مع فريق دعم ReadtheDocs لمعرفة سبب حدوث ذلك وكيف يمكننا إصلاح ذلك ، وسأحدّث هذه النتائج هنا عندما أحصل على تعليقات.
@ bchen1116 اتصل بالدعم وقالوا
يبدو أن السبب الأساسي لهذا الخطأ هو عدد الإصدارات النشطة التي لديك. أرى بعض الأخطاء في سجلاتنا تتعلق بهذا.
للتغلب على هذا في الوقت الحالي ، قد تقلل عدد الإصدارات النشطة التي تحتفظ بها. يبدو أنك تقوم بإنشاء إصدارات لفروع فردية أو طلبات سحب ، هل جربت ميزة بناء طلب السحب؟ سيساعد هذا في إزالة الإصدارات غير الضرورية بعد البناء ، مع الاحتفاظ بالمحتوى المدمج.
أعتقد أن "ميزة بناء طلب السحب" المشار إليها هنا هي هذا ، مؤكدة.
تحديث:
لقد قمنا بتحديث RTD للبناء من طلبات السحب فقط ، وإزالة البنيات غير الضرورية إلى الإصدارات المختلفة (الفروع) التي ندفعها. بالإضافة إلى ذلك ، قمنا بحذف جميع الإصدارات غير الضرورية (غير المميزة) من RTD (الفروع المتنوعة التي نستخدمها للعلاقات العامة) ، والتي يبدو أنها ساعدت في إنشاء المستندات. لا نلاحظ انتهاء مهلة المستندات في البنيات ، لذلك سنغلق هذه المشكلة غدًا ما لم نبدأ في رؤية المهلات مرة أخرى.
@ bchen1116 هل هذا قابل للإغلاق الآن؟
يتم الإغلاق الآن ، نظرًا لعدم وجود مشكلة في عمليات إنشاء المستندات البطيئة.
التعليق الأكثر فائدة
التحديث بعد المناقشة معdsherry.
تؤدي إضافة علامة
-j
إلىMakefile
الخاصة بنا إلى السماح لاختبارbuild docs
على circleci بالانتهاء بشكل أسرع ، كما هو موضح هنا . لسوء الحظ ، لا يقوم ReadtheDocs بتشغيل هذا الأمر ، مما يعني أن الإنشاء الفعلي للوثائق المنشورة لا يزال يستغرق بعض الوقت وغالبًا ما يتم إصلاح الأخطاء.هذا ما يبدو عليه التصميم الناجح لـ ReadtheDocs ، حيث يستغرق إكماله ما يزيد قليلاً عن 20 دقيقة. تشير الاختلافات بين أوقات إنشاء HTML و Latex إلى أن بناء دفاتر Jupyter نفسها لا يستغرق الكثير من الوقت ، وهو أمر جيد.
ومع ذلك، فإننا نعثر أيضا الحالات التي فشل بناء مثل هذا . لاحظنا أنه لسبب ما ، يقوم ReadtheDocs بتشغيل التسلسل الكامل للأوامر مرتين ، مما يتسبب في أن يستغرق البناء وقتًا أطول (أكثر من 30 دقيقة لإنشاء ملفات HTML و Latex) ، ويؤدي إلى فشل إنشاء المستند. سأتابع مع فريق دعم ReadtheDocs لمعرفة سبب حدوث ذلك وكيف يمكننا إصلاح ذلك ، وسأحدّث هذه النتائج هنا عندما أحصل على تعليقات.