Files
ranking/scripts/recarregar_ranking.sh
Frederico Castro 0d355e705e feat(frontend): implementar selos faltantes e corrigir alinhamento tabelas
- Adicionar 10 novos selos: MB_BANCA_*, EVENTO, PROJ, IDIOMA_*, TITULACAO_*
- Adicionar TETOS para Bloco A e B no calculo de pontuacao
- Adicionar modais para selos de banca, evento e projeto
- Corrigir alinhamento de colunas nas tabelas do painel de criterios
- Corrigir alinhamento nos modais de blocos (BlocoCriteriosModal)
- Ajustar layout dos selos para linha dedicada abaixo do nome
- Corrigir distribuicao de espaco nas tabelas com selos
- Corrigir extracao de datas de consultoria no backend
2025-12-24 00:53:28 -03:00

77 lines
2.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
API_URL="${API_URL:-http://localhost:8010/api/v1}"
echo "=== Recarregando Ranking de Consultores CAPES ==="
echo ""
STATUS_CHECK=$(curl -s "${API_URL}/ranking/status")
JA_RODANDO=$(echo "$STATUS_CHECK" | python3 -c "import sys,json; print(json.load(sys.stdin).get('running', False))" 2>/dev/null || echo "False")
if [ "$JA_RODANDO" = "True" ]; then
echo "[!] Job já em execução - acompanhando progresso existente..."
else
echo "[1/2] Disparando job (limpar_antes=true)..."
RESP=$(curl -s -X POST "${API_URL}/ranking/processar" \
-H "Content-Type: application/json" \
-d '{"limpar_antes": true}')
if echo "$RESP" | grep -q '"sucesso":true'; then
echo " ✓ Job iniciado com sucesso"
else
echo " ✗ Erro ao iniciar job: $RESP"
exit 1
fi
fi
echo ""
echo "[2/2] Acompanhando progresso..."
echo ""
while true; do
STATUS=$(curl -s "${API_URL}/ranking/status")
RUNNING=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('running', False))" 2>/dev/null || echo "False")
PROCESSADOS=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('processados', 0))" 2>/dev/null || echo "0")
TOTAL=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('total', 0))" 2>/dev/null || echo "0")
PROGRESS=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('progress', 0))" 2>/dev/null || echo "0")
MSG=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('mensagem', ''))" 2>/dev/null || echo "")
BARRA=""
PROGRESS_INT=${PROGRESS%.*}
PREENCHIDO=$((PROGRESS_INT / 5))
VAZIO=$((20 - PREENCHIDO))
for ((i=0; i<PREENCHIDO; i++)); do BARRA+="█"; done
for ((i=0; i<VAZIO; i++)); do BARRA+="░"; done
printf "\r [%s] %5.1f%% | %s/%s | %s" "$BARRA" "$PROGRESS" "$PROCESSADOS" "$TOTAL" "$MSG"
if [ "$RUNNING" = "False" ]; then
echo ""
break
fi
sleep 3
done
echo ""
echo "=== Concluído ==="
STATS=$(curl -s "${API_URL}/ranking/estatisticas" 2>/dev/null || echo "{}")
if [ "$STATS" != "{}" ]; then
echo ""
echo "Estatísticas:"
echo "$STATS" | python3 -c "
import sys, json
data = json.load(sys.stdin)
print(f\" Total consultores: {data.get('total_consultores', 'N/A'):,}\")
print(f\" Total ativos: {data.get('total_ativos', 'N/A'):,}\")
print(f\" Pontuação máxima: {data.get('pontuacao_maxima', 'N/A')}\")
print(f\" Pontuação média: {data.get('pontuacao_media', 'N/A'):.2f}\")
" 2>/dev/null || echo " (não foi possível obter estatísticas)"
fi
echo ""
echo "Pronto!"