Atualmente, nossos documentos levam cerca de 14 minutos para serem compilados no circle-ci, ao passo que demoravam cerca de 6 minutos para serem compilados na versão anterior. A causa raiz dessa desaceleração parece ser que o trabalho em madeira está inferindo algumas variáveis categóricas como texto, o que faz com que o AutoML use o TextFeaturizer. No entanto, mesmo que o ww corrija a inferência categórica versus texto, o tempo para construir os documentos inevitavelmente aumentará à medida que escrevermos mais documentação. Isso torna difícil para os desenvolvedores iterarem nos documentos localmente.
Soluções possíveis:
Sim. Mudei o critério de parada automática padrão para max_batches=1
algumas semanas atrás também, o que não ajudou.
Eu gosto das soluções que você listou! Mais um de minha autoria:
Eu recomendo ir com a opção 2, mas com a opção 3 em mente.
Percebi que os documentos estão demorando muito mais para serem compilados. Acho que isso é provável porque os documentos automl foram alterados em c871f3b para usar o conjunto de dados de fraude, em vez do conjunto de dados de câncer de mama (+ em outro lugar?) Para mostrar infer_problem_types, uma vez que o conjunto de dados de câncer de mama tem apenas colunas numéricas.
Suspeito que esse seja um problema / motivo diferente para o tempo de compilação ainda mais longo de documentos, dos 20 minutos anteriores até agora> 30 minutos, e vale a pena mencionar!
@dsherry FYI
Outra solução possível é usar vários processadores para criar os documentos:
https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption -sphinx-build-j
Atualize a discussão a seguir com @dsherry.
Adicionar a bandeira -j
ao nosso Makefile
permite que o teste build docs
no circleci termine mais rápido, como visto aqui . Infelizmente, ReadtheDocs não executa esse comando, o que significa que a geração real da documentação publicada ainda demora um pouco e costuma gerar erros.
Esta é a aparência de uma construção bem-sucedida para ReadtheDocs, levando um pouco mais de 20 minutos para ser concluída. As diferenças entre os tempos de construção HTML e Latex sugerem que construir os blocos de anotações Jupyter em si não leva muito tempo, o que é bom.
No entanto, também estamos encontrando casos em que a construção falhar como este . Percebemos que, por algum motivo, ReadtheDocs está executando a sequência completa de comandos duas vezes, o que faz com que a compilação demore muito mais (bem mais de 30 minutos cada para criar os arquivos HTML e latex) e faz com que a compilação do documento falhe. Farei o acompanhamento com a equipe de suporte do ReadtheDocs para ver por que isso está acontecendo e como podemos corrigir isso, e atualizarei esses resultados aqui quando receber feedback.
@ bchen1116 contatou o suporte e eles disseram
Parece que a causa subjacente desse bug é o número de versões ativas que você possui. Vejo alguns erros em nossos registros relacionados a isso.
Para contornar isso por enquanto, você pode reduzir o número de versões ativas que mantém. Parece que você está criando versões para branches individuais ou solicitações pull. Você já experimentou nosso recurso de criação de solicitações pull? Isso ajudaria a remover as versões desnecessárias após a compilação, mantendo o conteúdo compilado.
Acredito que o "recurso de criação de solicitação de pull" referenciado aqui é este , confirmando.
Atualizar:
Atualizamos o RTD para compilar apenas a partir de solicitações pull, removendo as compilações desnecessárias para diferentes versões (branches) que enviamos. Além disso, excluímos todas as versões desnecessárias (não marcadas) do RTD (ramos diversos que usamos para PRs), o que parece ter ajudado na construção do documento. Não notamos que nenhum documento está expirando nas compilações, então fecharemos este problema amanhã, a menos que comecemos a ver os tempos limite novamente.
@ bchen1116 isso fechado agora?
Fechando agora, já que não houve problemas com compilações lentas de documentos.
Comentários muito úteis
Atualize a discussão a seguir com @dsherry.
Adicionar a bandeira
-j
ao nossoMakefile
permite que o testebuild docs
no circleci termine mais rápido, como visto aqui . Infelizmente, ReadtheDocs não executa esse comando, o que significa que a geração real da documentação publicada ainda demora um pouco e costuma gerar erros.Esta é a aparência de uma construção bem-sucedida para ReadtheDocs, levando um pouco mais de 20 minutos para ser concluída. As diferenças entre os tempos de construção HTML e Latex sugerem que construir os blocos de anotações Jupyter em si não leva muito tempo, o que é bom.
No entanto, também estamos encontrando casos em que a construção falhar como este . Percebemos que, por algum motivo, ReadtheDocs está executando a sequência completa de comandos duas vezes, o que faz com que a compilação demore muito mais (bem mais de 30 minutos cada para criar os arquivos HTML e latex) e faz com que a compilação do documento falhe. Farei o acompanhamento com a equipe de suporte do ReadtheDocs para ver por que isso está acontecendo e como podemos corrigir isso, e atualizarei esses resultados aqui quando receber feedback.