Apéndice F — Runbook operativo
F.1. Tareas diarias
| Hora |
Tarea |
Dónde |
| 08:30 |
Revisar dashboard DGII |
/contabilidad/dgii/dashboard/ |
| 08:35 |
Verificar facturas en contingencia |
/contabilidad/dgii/contingencia/ |
| 08:40 |
Confirmar backup nocturno |
tail /var/log/backup.log |
| 09:00 |
Revisar cola Celery |
celery -A tienda inspect active |
| Continuo |
Aprobar ACR e-CF recibidos |
/contabilidad/ecf/recibidos/?estado=PENDIENTE_ACR |
| 17:30 |
Cierre de caja |
/contabilidad/cash_close/ |
| 18:00 |
Reporte diario |
python manage.py reporte_diario --enviar |
F.2. Tareas semanales
- Lunes:
grep -i error /opt/tienda/logs/app.log | tail -200
- Miércoles:
python manage.py importar_padron_dgii --force
- Viernes: revisar uso de secuencias y archivos
.bak_*
F.3. Tareas mensuales
| Día |
Tarea |
| 1 |
Generar reportes DGII (606/607/608/IT-1/IR-17) |
| 1-15 |
Presentar IT-1 (vence día 20) |
| 1-15 |
Presentar 606/607 (vence día 15) |
| 5 |
Probar restore en staging |
| 10 |
Auditoría de roles: python manage.py audit_permissions |
| 15 |
Conciliar 606/607 vs IT-1 |
| 28 |
Verificar vigencia cert: openssl pkcs12 -in /opt/tienda/secrets/*.p12 -nokeys -info |
F.4. Procedimientos de emergencia
DGII caída
curl -v https://ecf.dgii.gov.do/eCF/Autenticacion/api/Autenticacion/Semilla
- Sistema entra automáticamente en contingencia
- Cuando DGII vuelva:
python manage.py ecf_retry_failed --solo-contingencia
Certificado vencido
- Sistema bloquea emisión de e-CF nuevos
- Acumular facturas en BORRADOR hasta renovar
Postgres OOM / disco lleno
df -h
sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('tienda_db'));"
journalctl --vacuum-time=7d
find /opt/tienda/media/pdf_cache -atime +30 -delete
sudo -u postgres vacuumdb -a -z
Worker Celery atascado
celery -A tienda inspect active
celery -A tienda control revoke <task_id>
systemctl restart tienda-celery