-
Notifications
You must be signed in to change notification settings - Fork 1
Diagnostico do Crawler
Use esta pagina para investigar uma rodada do crawler sem depender de um snapshot antigo do banco local.
- Abra a execucao em Actions > Atualizar pacote de dados.
- Confira se as etapas
Restaurar pacote atual,Executar scraper,Compactar banco para GitHub,Publicar banco na release fixaeValidar salvamento da rodadaforam concluidas. - Baixe ou abra o ultimo relatorio em
data/relatorios/. - Confira a secao
Salvamento e backups do workflowadicionada pelo workflow.
A restauracao pode vir de duas origens:
| Origem | Conteudo restaurado | Uso |
|---|---|---|
| OneDrive | pacote completo com raws, cache, relatorios e SQLite | Estado completo para continuar a coleta |
| GitHub Release | cotacoes.sqlite.xz |
Fallback enxuto com banco pronto para consumo |
Se nenhum dado anterior for restaurado, o workflow falha antes de executar o scraper. Isso evita publicar uma base incompleta criada do zero por acidente.
Verifique:
- fontes concluidas, com falha e ignoradas;
- falhas de download, parser e persistencia separadamente;
- raws com cotacao e raws sem cotacao;
- cotacoes rejeitadas por falta de data, falta de preco ou preco negativo;
- tempo de download, processamento e persistencia;
- origem restaurada e artefatos salvos fora do runner.
Investigue com prioridade quando ocorrer:
- nenhuma publicacao em
latest-data; - nenhum backup salvo fora do runner;
- perda recorrente de uma fonte importante;
- crescimento inesperado do SQLite;
- aumento grande de cotacoes rejeitadas;
- queda relevante no total de cotacoes novas;
- falha em
Validar salvamento da rodada.
- Downloads repetidos do mesmo historico podem gerar duplicacoes no SQLite enquanto a chave unica ainda depender da coleta fisica.
- CEASA-Campinas e CEASA-RJ podem apresentar timeouts.
- CEASA-BA e CEAGESP-SP possuem historico limitado no fluxo atual.
- PDFs da CEASA-PR podem chegar ausentes ou malformados; o fallback com
pdftotextreduz perda, mas nao corrige PDF inexistente.
Reprocessar raws ativos sem baixar novamente:
docker compose run --rm salvarForcar reprocessamento completo dos raws ativos:
docker compose run --rm app --process-raw --force-reprocessInspecionar o banco publicado:
docker compose run --rm --entrypoint python app scripts/cotacoes.py descompactar-banco --arquivo cotacoes.sqlite.xzSnapshots antigos de diagnostico devem ser tratados como evidencia historica, nao como estado atual do crawler. Para decisoes operacionais, use sempre o ultimo workflow, o ultimo relatorio e os artefatos atuais da release ou do OneDrive.
Documentacao operacional do cotacoes-ceasa-scraper.