Deployment Checklist - SignalDashPro#
Playbook para mover cambios a demo/live sin pasar por alto migraciones, seeds y trabajos automatizados. Sigue el orden antes / durante / despues y marca cada paso en tu runbook.
1. Antes del despliegue#
- Ventana y comunicacion
- Confirma la ventana con trading/operaciones y silencia automatizaciones sensibles (ej. ejecucion real de senales).
- Notifica al canal operativo (Slack/Teams) que aplicaras cambios y comparte un ETA.
- Respaldos
- Ejecuta
pg_dump -h <host> -U postgres signaldashpro > backups/<fecha>.sql. - Copia
storage/models/ystorage/bi_exports/si entrenaste modelos o exportaste datasets recientes. - Infra y configuracion
- Revisa las variables en tu
.envo secret store. Claves:DATABASE_URL,BINANCE_*,AUTH_*,CORS_ALLOW_ORIGINS,NEWS*_,DATA_PIPELINE_*,BI_EXPORT_*,TRAINING_*,META_GOAL_*. - Verifica credenciales de APIs externas (
NEWSAPI_KEY,PRIXE_API_KEY,FMP_API_KEY) y los webhooks de alertas. - Salud del codigo
python -m pytest backend/tests -q- Ejecutar linters/tests del frontend segun el stack vigente (Next.js/React cuando este disponible).
- Corrige cualquier error antes de continuar.
2. Durante el despliegue#
- Congela automatizaciones
- Deten systemd services, Task Scheduler o cron jobs que invoquen scripts
run_*.py. -
Si hace falta, pon
*_AUTO_RUN=falsetemporalmente en el.env. -
Actualizar codigo
git pull --ff-only- Backend:
cd backend && pip install -r requirements.txt -
Frontend: actualizar dependencias segun el proyecto (Next.js/React cuando este disponible).
-
Migraciones y seeds
- Crea o actualiza tablas:
bash python - <<'PY' from backend.database import create_db_and_tables create_db_and_tables() PY - Verifica cambios en Postgres (
\d <tabla>). -
Seeds / ingestas utiles (orden recomendado):
- Velas base (M1/M15) desde ticks (opcional)
| Dato | Script | Nota |
| ---- | ------ | ---- |
| Candles M1/M15 |
python scripts/build_candles_from_ticks.py --symbol EURUSD --timeframe M15 --start ... --end ...| Agrega velas intradia a partir de la tablaticks. | - Velas derivadas y volatilidad
| Dato | Script | Nota |
| ---- | ------ | ---- |
| H1/H4 + stats |
python scripts/build_higher_timeframes.py --timeframes H1 H4 --symbol EURUSD| Deriva H1/H4 desde M15 y recalcula estadisticasVolatilityStat. | | Market windows |python scripts/build_market_windows.py --timeframe H1 --symbols EURUSD XAUUSD| Fusiona velas + volatilidad + noticias enmarket_windows. | - Indicadores tecnicos
| Dato | Script | Nota |
| ---- | ------ | ---- |
| SMA/EMA/RSI/ATR |
python scripts/build_candle_indicators.py --symbol EURUSD --timeframe M15| Precalcula indicadores sobre las velas almacenadas. | - News, IA y pipeline
| Dato | Script | Nota |
| ---- | ------ | ---- |
| Noticias + resumen IA |
python scripts/import_market_news.py --symbols EURUSD XAUUSD --brainstorm| Reanuda news + brainstorming inicial. | | Pipeline completo |python scripts/run_data_pipeline.py --symbols EURUSD XAUUSD --timeframe H1| Ejecuta news -> summaries -> windows -> brainstorming/backtests segun configuracion. | - Backtest de humo
| Dato | Script | Nota |
| ---- | ------ | ---- |
| Backtest baseline |
python scripts/run_backtest.py --strategy-name DeploymentSmoke --symbol EURUSD --timeframe H1 --start ... --end ... --fast-ma 10 --slow-ma 30 --allow-short| Verifica que existan velas suficientes y que se generanbacktest_jobs/backtest_trades. |
- Velas base (M1/M15) desde ticks (opcional)
| Dato | Script | Nota |
| ---- | ------ | ---- |
| Candles M1/M15 |
-
Variables y servicios
- Actualiza
.enven el host y reinicia FastAPI (scripts/run_backend.ps1,systemctl restart signaldashpro.service, etc.). -
Vigila
storage/logs/signaldashpro.loghasta que no aparezcan errores de arranque. -
Jobs recurrentes
-
Programa cron/Task Scheduler usando esta referencia:
Job Variable *_AUTO_RUNScript Frecuencia sugerida Import news NEWS_AUTO_RUNpython scripts/import_market_news.py --symbols ...Cada 15 min News summary NEWS_SUMMARY_AUTO_RUNpython scripts/import_market_news.py --summary-onlyCada 30 min Data pipeline DATA_PIPELINE_AUTO_RUNpython scripts/run_data_pipeline.pyCada 60 min BI export BI_EXPORT_AUTO_RUNpython scripts/export_bi_datasets.py ...Cada 4 h Training TRAINING_AUTO_RUNpython scripts/run_training_pipeline.py ...Diario Goal monitor META_GOAL_AUTO_RUNEndpoint /analytics/goals/runo job dedicadoCada 60 min -
Documenta en el host (
/etc/cron.d/signaldashpro, Task Scheduler, etc.) quien ejecuta cada job y con que usuario.
3. Despues del despliegue#
- Smoke tests
curl http://<host>:8096/binance/statusresponde 200.GET /analytics/summaryy/analytics/diaryresponden en menos de 1 s.GET /jobs/statusmuestramarket_syncen verde (siMARKET_SYNC_AUTO_RUN=true).- Desde el frontend revisa que
/binance,/jobs,/marketcarguen sin errores. - Automatizaciones
- Lanza manualmente cada cron (
systemctl start signaldashpro-news.service,schtasks /run /tn "SignalDashPro_BI_Export", etc.) y valida enstorage/logs/signaldashpro.log. - Devuelve
*_AUTO_RUN=truesi lo habias deshabilitado. - Alertas externas
- Envia un ping de prueba al webhook de Slack/Teams antes de cerrar la ventana.
- Cierre
- Actualiza
TODO.mdo el issue correspondiente con hora/resultado. - Informa al canal operativo que el despliegue termino y adjunta los resultados de smoke tests.
Manten este checklist en
docs/deploy_checklist.mdy ajustalo cuando se agreguen servicios o jobs nuevos.