Skip to content

[04] Iniciando e Monitorando uma Coleta

Ana Luiza da Silva edited this page May 4, 2023 · 3 revisions

Neste tutorial será dado seguimento à coleta de licitações da cidade de Rio Preto (descrita na issue #380). Após a configuração e início da execução do coletor, descritos em [3] Criando um coletor, podemos monitorar o andamento da coleta e, após sua finalização, validar os resultados e/ou analisar as etapas executadas e os possíveis erros ocorridos.

Como executar e parar uma coleta

Na barra de ações é possível dar início a coleta clicando no botão "Começar". Caso seja necessário interromper a coleta, o botão "Parar" pode ser utilizado, encerrando a execução da instância iniciada.
botões de ação

Cada vez que uma coleta é executada é criada uma nova instância, que aparecerá na seção "Instances".
lista de instancias

Também serão carregados no fim da página as últimas linhas dos logs de execução, o primeiro contendo o andamento da coleta e o segundo reportando possíveis erros.
últimas linhas dos arquivos de log

Elementos da interface de execução

Para acompanhar o andamento da coleta dois elementos desta página são interessantes, estes serão detalhados abaixo:

Como saber se o coletor já executou

Na parte superior da página, junto com as informações do coletor, abaixo do nome, ID, url e data, é possível ver o status da coleta. Temos dois estados possíveis: "Parado" e "Rodando".
instância rodando
Assim que uma instância é iniciada, o status será "Rodando", caso ela seja finalizada ou algum erro aconteça, causando seu encerramento prematuro, o status retornará para "Parado", seu estado padrão.
instância parada

Como interpretar o andamento e resultado das coletas

log com andamento da coleta
Outro elemento importante na página é a seção de Logs da última instância onde podemos ver, primeiramente, as últimas linhas do arquivo que detalha o andamento da coleta, e, posteriormente, as últimas linhas do arquivo onde a depuração dos acontecimentos e erros são registrados.
log com registros de erros
Neste segundo, é possível saber se a coleta foi finalizada com sucesso ou se foi encerrada em decorrência de um erro.

Entendendo a estrutura de arquivos da coleta

Assim que a coleta é finalizada e o status passa para "Parado", pode-se iniciar a etapa de validação das páginas e arquivos extraídos.

Onde os dados foram gerados

O local onde os arquivos são gerados é correspondente ao configurado na etapa 1 do tutorial anterior sendo que a partir do diretório escolhido é criada uma pasta para cada instância, sendo utilizado seu ID.

Como estão armazenados e organizados

A estrutura dos arquivos gerados é a seguinte:
estrutura dos arquivos
Os diretórios pertinentes são "data" e "log". Dentro de "data" são dividos nos diretórios "files" os arquivos baixados e em "raw_pages" as páginas HTML salvas. No caso de coletas com processamento dinâmico, temos a pasta "screenshots" onde são salvas as imagens da tela conforme a configuração do coletor. Já em "log" são criados os arquivos mencionados acima, cada instância tem um arquivo de andamento (.out) e um arquivo de depuração (.err).

Como identificar os erros ocorridos na coleta

Como foi explicado acima, o arquivo de depuração descreve os possíveis erros. Como na página de detalhes só são apresentadas as últimas linhas, as vezes é necessário analisar o arquivo completo para entender o que ocorreu. Para isso pode-se clicar no botão "Abrir Log Bruto" do stderr na página de detalhes do coletor ou abrir o arquivo .err referente a instância da coleta em questão na pasta /log. Pesquisando no arquivo pela palavra "Traceback", abaixo dela são resumidos os erros e arquivos que os geraram. Identificando os erros é possível perceber algum problema de configuração, que pode ser corrigido, utilizando o botão "Editar" para ajustar os parâmetros utilizados, e depois executar uma nova instância. Caso não seja um erro de configuração, pode-se reportar o erro criando uma issue e passando os detalhamentos e partes do log pertinentes.