Ces derniers temps, nos documents prenaient environ 14 minutes pour construire sur circle-ci alors qu'ils prenaient environ 6 minutes pour construire dans la version précédente. La cause première de ce ralentissement semble être que la menuiserie infère certaines variables catégorielles sous forme de texte, ce qui oblige ensuite AutoML à utiliser TextFeaturizer. Cependant, même si ww corrige l'inférence catégorique contre texte, le temps de construction de la documentation augmentera inévitablement à mesure que nous écrirons plus de documentation. Cela rend difficile pour les développeurs d'itérer sur les documents localement.
Solutions possibles:
Ouais. J'ai changé le critère d'arrêt automatique par défaut en max_batches=1
a quelques semaines également, ce qui n'a pas aidé.
J'aime les solutions que vous avez énumérées! Plus un des miens :
Je recommande que nous allions avec l'option 2, mais avec l'option 3 à l'esprit.
J'ai remarqué que les documents prenaient beaucoup plus de temps à créer. Je pense que cela est probablement dû au fait que les documents automl ont été modifiés dans c871f3b pour utiliser l'ensemble de données sur la fraude, au lieu de l'ensemble de données sur le cancer du sein (+ ailleurs ?)
Je soupçonne qu'il s'agit d'un problème / raison différent du temps de construction encore plus long des documents, des 20 minutes précédentes à maintenant > 30 minutes, et cela pourrait valoir la peine d'être mentionné !
@dsherry Pour info
Une autre solution possible consiste à utiliser plusieurs processeurs pour créer les documents :
https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption -sphinx-build-j
Mise à jour après discussion avec @dsherry.
L'ajout du drapeau -j
à notre Makefile
permet au test build docs
sur circleci de se terminer plus rapidement, comme on le voit ici . Malheureusement, ReadtheDocs n'exécute pas cette commande, ce qui signifie que la génération réelle de la documentation publiée prend encore un certain temps et génère souvent des erreurs.
Voici à quoi ressemble une construction réussie pour ReadtheDocs, qui prend un peu plus de 20 minutes. Les différences entre les temps de construction HTML et Latex suggèrent que la construction des blocs-notes Jupyter eux-mêmes ne prend pas beaucoup de temps, ce qui est bien.
Cependant, nous trouvons également des cas où la construction échoue comme ceci . Nous avons remarqué que pour une raison quelconque, ReadtheDocs exécute la séquence complète de commandes deux fois, ce qui fait que la construction prend beaucoup plus de temps (plus de 30 minutes chacune pour créer les fichiers HTML et latex) et provoque l'échec de la construction du document. Je ferai un suivi avec l'équipe d'assistance ReadtheDocs pour voir pourquoi cela se produit et comment nous pouvons résoudre ce problème, et je mettrai à jour ces résultats ici lorsque j'aurai des commentaires.
@ bchen1116 a contacté le support et ils ont dit
Il semble que la cause sous-jacente de ce bogue soit le nombre de versions actives que vous possédez. Je vois quelques erreurs dans nos journaux à ce sujet.
Pour contourner ce problème pour l'instant, vous pouvez réduire le nombre de versions actives que vous conservez. Il semble que vous construisiez des versions pour des branches individuelles ou des demandes d'extraction, avez-vous essayé notre fonctionnalité de création de demande d'extraction ? Cela aiderait à supprimer les versions inutiles après la construction, tout en conservant le contenu construit.
Je crois que la "fonctionnalité de création de demande d'extraction" référencée ici est la suivante , confirmant.
Mettre à jour:
Nous avons mis à jour RTD pour générer uniquement à partir de demandes d'extraction, en supprimant les versions inutiles vers différentes versions (branches) que nous poussons. De plus, nous avons supprimé toutes les versions inutiles (non étiquetées) de RTD (branches diverses que nous utilisons pour les PR), ce qui semble avoir aidé la construction de la doc. Nous ne remarquons aucun délai d'expiration de la documentation sur les versions, nous fermerons donc ce problème demain à moins que nous ne recommencions à voir des délais d'expiration.
@bchen1116 est-il possible de fermer maintenant ?
Fermeture maintenant, car il n'y a eu aucun problème avec les versions lentes de la documentation.
Commentaire le plus utile
Mise à jour après discussion avec @dsherry.
L'ajout du drapeau
-j
à notreMakefile
permet au testbuild docs
sur circleci de se terminer plus rapidement, comme on le voit ici . Malheureusement, ReadtheDocs n'exécute pas cette commande, ce qui signifie que la génération réelle de la documentation publiée prend encore un certain temps et génère souvent des erreurs.Voici à quoi ressemble une construction réussie pour ReadtheDocs, qui prend un peu plus de 20 minutes. Les différences entre les temps de construction HTML et Latex suggèrent que la construction des blocs-notes Jupyter eux-mêmes ne prend pas beaucoup de temps, ce qui est bien.
Cependant, nous trouvons également des cas où la construction échoue comme ceci . Nous avons remarqué que pour une raison quelconque, ReadtheDocs exécute la séquence complète de commandes deux fois, ce qui fait que la construction prend beaucoup plus de temps (plus de 30 minutes chacune pour créer les fichiers HTML et latex) et provoque l'échec de la construction du document. Je ferai un suivi avec l'équipe d'assistance ReadtheDocs pour voir pourquoi cela se produit et comment nous pouvons résoudre ce problème, et je mettrai à jour ces résultats ici lorsque j'aurai des commentaires.