98 lines
3.7 KiB
Bash
Executable File
98 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Monitor CTF_Carstuff Gemini 2.5 Flash Structure Progress
|
|
# Author: Descomplicar® Crescimento Digital
|
|
# Link: https://descomplicar.pt
|
|
# Copyright: 2025 Descomplicar®
|
|
|
|
OUTPUT_DIR="/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/formatted"
|
|
LOG_FILE="structure_execution_gemini.log"
|
|
|
|
clear
|
|
echo "═══════════════════════════════════════════════════════════════"
|
|
echo " 🚀 CTF_CARSTUFF - MONITOR ESTRUTURAÇÃO GEMINI 2.5 FLASH"
|
|
echo " Modelo: google/gemini-2.5-flash | Custo: 40x mais barato que Claude"
|
|
echo "═══════════════════════════════════════════════════════════════"
|
|
echo ""
|
|
|
|
# Verificar se processo está a correr
|
|
if pgrep -f "structure_content_ctf.py" > /dev/null; then
|
|
echo "✅ Status: ATIVO (processamento Gemini 2.5 Flash)"
|
|
echo ""
|
|
else
|
|
echo "⚠️ Status: CONCLUÍDO ou PARADO"
|
|
echo ""
|
|
fi
|
|
|
|
# Contar ficheiros
|
|
MD_COUNT=$(find "$OUTPUT_DIR" -type f -name "structured_*.md" 2>/dev/null | wc -l)
|
|
JSON_COUNT=$(find "$OUTPUT_DIR" -type f -name "structured_*.json" 2>/dev/null | wc -l)
|
|
TOTAL_SIZE=$(du -sh "$OUTPUT_DIR" 2>/dev/null | cut -f1)
|
|
|
|
echo "📊 Progresso Atual:"
|
|
echo " • Ficheiros MD estruturados: $MD_COUNT / 822"
|
|
echo " • Ficheiros JSON gerados: $JSON_COUNT / 822"
|
|
echo " • Tamanho total: $TOTAL_SIZE"
|
|
echo ""
|
|
|
|
# Calcular percentagem
|
|
if [ $MD_COUNT -gt 0 ]; then
|
|
PERCENT=$((MD_COUNT * 100 / 822))
|
|
echo " 🎯 Progresso: $PERCENT%"
|
|
echo ""
|
|
fi
|
|
|
|
# Tempo estimado (~6s por ficheiro com Gemini)
|
|
if [ $MD_COUNT -gt 0 ]; then
|
|
REMAINING=$((822 - MD_COUNT))
|
|
SECONDS=$((REMAINING * 6)) # ~6s por ficheiro (Gemini)
|
|
MINUTES=$((SECONDS / 60))
|
|
HOURS=$((MINUTES / 60))
|
|
REMAINING_MIN=$((MINUTES % 60))
|
|
echo " ⏱️ Tempo estimado restante: ${HOURS}h ${REMAINING_MIN}m"
|
|
echo ""
|
|
fi
|
|
|
|
# Velocidade atual
|
|
echo "⚡ Performance:"
|
|
RECENT_COUNT=$(tail -100 "$LOG_FILE" 2>/dev/null | grep -c "✓ Guardado")
|
|
if [ $RECENT_COUNT -gt 0 ]; then
|
|
echo " • Últimos 100 logs: $RECENT_COUNT ficheiros processados"
|
|
AVG_TIME=$(tail -100 "$LOG_FILE" 2>/dev/null | grep "Processando" | tail -20 | wc -l)
|
|
if [ $AVG_TIME -gt 0 ]; then
|
|
echo " • Média ~5-7s por ficheiro (Gemini 2.5 Flash)"
|
|
fi
|
|
fi
|
|
echo ""
|
|
|
|
# Últimos ficheiros processados
|
|
echo "📝 Últimas atividades:"
|
|
tail -10 "$LOG_FILE" 2>/dev/null | grep -E "(Processando|✓ Guardado)" | sed 's/^/ /'
|
|
echo ""
|
|
|
|
# Estatísticas de sucesso/erro
|
|
SUCESSOS=$(grep -c "✓ Guardado" "$LOG_FILE" 2>/dev/null)
|
|
ERROS=$(grep -c "ERROR" "$LOG_FILE" 2>/dev/null)
|
|
|
|
echo "📈 Estatísticas:"
|
|
echo " • Sucessos: $SUCESSOS"
|
|
echo " • Erros: $ERROS"
|
|
if [ $SUCESSOS -gt 0 ]; then
|
|
TAXA=$((SUCESSOS * 100 / (SUCESSOS + ERROS + 1)))
|
|
echo " • Taxa de sucesso: ${TAXA}%"
|
|
fi
|
|
echo ""
|
|
|
|
# Estimativa custo
|
|
echo "💰 Estimativa Custo (vs Claude):"
|
|
echo " • Claude 3.5 Sonnet: ~\$120-180 para 822 ficheiros"
|
|
echo " • Gemini 2.5 Flash: ~\$3-5 para 822 ficheiros"
|
|
echo " • Poupança: ~97% 🎉"
|
|
echo ""
|
|
|
|
echo "═══════════════════════════════════════════════════════════════"
|
|
echo "Comandos úteis:"
|
|
echo " • Ver log: tail -f structure_execution_gemini.log"
|
|
echo " • Ver ficheiros: ls -lh $OUTPUT_DIR"
|
|
echo " • Parar: pkill -f structure_content_ctf.py"
|
|
echo "═══════════════════════════════════════════════════════════════"
|