Problemas Comunes¶
Soluciones a problemas frecuentes en el Sistema A3.
Error: "Application Error"¶
Síntoma: Heroku muestra "Application Error"
Solución:
# Ver logs
heroku logs --tail --app aterceros
# Restart
heroku restart --app aterceros
# Verificar dynos
heroku ps --app aterceros
Error: "Database connection failed"¶
Causas comunes: - DB en mantenimiento - Conexiones agotadas - Credentials incorrectos
Solución:
# Verificar BD
heroku pg:info --app aterceros
# Restart connections
heroku pg:killall --app aterceros
# Verificar DATABASE_URL
heroku config:get DATABASE_URL --app aterceros
Error: "Timeout"¶
Síntoma: Requests tardan >30s
Solución: 1. Identificar query lenta con logs 2. Agregar índices faltantes 3. Optimizar con select_related/prefetch_related 4. Mover a background task si aplica
Error: "No space left on device"¶
Solución:
# Limpiar BD
heroku run python manage.py clearsessions --app aterceros
# Vacuum
heroku pg:psql --app aterceros -c "VACUUM FULL;"
# Upgrade plan si es necesario
Error: "CSRF verification failed"¶
Causas: - Cookie bloqueada - Token expirado - Dominio incorrecto
Solución:
1. Verificar CSRF_TRUSTED_ORIGINS en settings
2. Limpiar cookies del navegador
3. Verificar que el request incluya el token
Error: "500 Internal Server Error"¶
Solución:
1. Revisar logs: heroku logs --tail
2. Reproducir localmente
3. Verificar migraciones: python manage.py showmigrations
4. Verificar config vars
Error SAP API: "Connection timeout"¶
Solución: 1. Verificar que SAP API esté disponible 2. Aumentar timeout en settings 3. Implementar retry logic 4. Usar circuit breaker pattern
Performance Lento¶
Diagnóstico:
from django.db import connection
print(len(connection.queries)) # Número de queries
for q in connection.queries:
print(q['time'], q['sql'][:100])
Soluciones:
- Agregar select_related() para ForeignKey
- Agregar prefetch_related() para M2M
- Crear índices en campos de filtro
- Usar caché para queries frecuentes
Migraciones Conflictivas¶
Síntoma: Con flicting migrations detected
Solución:
# Ver conflictos
python manage.py showmigrations
# Merge migraciones
python manage.py makemigrations --merge
S3 Upload Fails¶
Causas: - Credentials incorrectos - Permissions faltantes - Archivo muy grande
Solución: 1. Verificar AWS credentials 2. Verificar permisos del bucket 3. Aumentar límite de tamaño 4. Usar multipart upload para archivos grandes
Web Push No Funciona¶
Solución: 1. Verificar VAPID keys 2. Verificar que el navegador soporte Web Push 3. Verificar permisos del navegador 4. Re-suscribir el usuario
Login No Funciona¶
Causas comunes: - Contraseña incorrecta - Usuario inactivo - Sesión expirada
Solución:
1. Verificar en admin que usuario esté activo
2. Reset password si es necesario
3. Limpiar sesiones: python manage.py clearsessions
Cómo Reportar Problemas¶
Al reportar un issue:
- Descripción clara del problema
- Pasos para reproducir
- Comportamiento esperado vs actual
- Screenshots (si aplica)
- Logs relevantes
- Entorno (producción/staging/local)
Si el problema persiste, contactar a sistemas con logs completos.