Este reporte detalla por qué la aplicación dejó de funcionar correctamente hoy y los pasos exactos para restaurarla manualmente.
El problema principal que está causando la inestabilidad hoy (errores en logs, "Failed to fetch") es que el código en ejecución es antiguo, a pesar de que los archivos en disco se han actualizado.
- Evidencia: Los logs muestran errores (
TypeError,ValueError) que son imposibles con el código actual (verificado). - Solución: Es imperativo limpiar el entorno de ejecución.
- Problema: La página de Admin no cargaba datos.
- Causa: El router de administración (
admin.py) existía pero no estaba "conectado" al archivo principal (main.py). - Estado Actual: ✅ FIXED. He actualizado
backend/main.pypara incluir/admin.
- Problema: Al intentar escanear, el frontend daba error 404.
- Causa: El frontend apuntaba a
/analyze/litepero el backend esperaba/analysis/lite. Un cambio reciente en la estructura de rutas causó esta desconexión. - Estado Actual: ✅ FIXED. He actualizado
web/services/analysis.tspara usar la ruta correcta/analysis.
- Problema: El scheduler se reinicia constantemente con errores de
ccxty tipos de datos. - Causa: Los procesos antiguos en memoria no tienen las correcciones recientes de normalización de timeframes (minusculas) y métodos faltantes (
metadata). - Estado Actual: ✅ FIXED (Código). El código en disco es correcto, pero necesita reinicio.
- Nota: La funcionalidad de Alertas (Watchlist) está incompleta en el backend (
routers/alerts_api.pyno existe), aunque el frontend ya tiene los botones. Esto no impide el funcionamiento general, pero los botones de alerta no funcionarán.
Para restaurar el servicio al estado funcional de ayer (con las mejoras de hoy), sigue estos pasos estrictamente:
Debemos asegurar que no quede ningún proceso de Python antiguo corriendo. Abre una terminal (PowerShell) y ejecuta:
taskkill /IM python.exe /F
taskkill /IM uvicorn.exe /FSi alguno da error de "no encontrado", es buena señal.
Asegúrate de que estos cambios existen (yo ya los he aplicado, pero puedes verificar):
- backend/main.py: Ábrelo y busca
app.include_router(admin_router, prefix="/admin")cerca de la línea 120. Debe estar ahí. - web/services/analysis.ts: Busca
apiFetch("/analysis/lite". Si dice/analyze, corrígelo.
En la terminal de backend:
# Asegura entorno virtual si usas venv
venv\Scripts\activate
# Iniciar API (sin scheduler integrado para evitar bloqueos)
python main.pyEspera a ver "Application startup complete".
Abre otra terminal para el scheduler (esto evita que bloquee la API):
cd backend
venv\Scripts\activate
python scheduler.pyDebe iniciar sin los errores de "AttributeError" o "TypeError".
Si no está corriendo:
cd web
npm run devUna vez realizados estos pasos, el Dashboard, el Admin Panel y los Escáneres funcionarán correctamente.