Files
IPSExtractor/services/bot_descarga/README.md
T

1.3 KiB

Bot Descarga API (infraestructura IPSExtractor)

Microservicio FastAPI de control remoto de bots. Corre en Docker; las PCs de bot no exponen puertos — solo el agent en bots/bot_descarga.

Persistencia: PostgreSQL compartido (DATABASE_URL), tablas download_workers, download_jobs, download_job_events + tasks (type=downloads).

Layout MinIO (pys-cuentas-medicas)

uploads/{download_job_id}/input.xlsx
downloads/{download_job_id}/{nit}/{radicado}.pdf

Arranque (compose)

Servicio bot-descarga en el docker-compose.yml raíz. Gateway: /bot-descarga/* → este servicio :8200.

Variables

BOT_API_TOKEN=dev-token-change-me
DATABASE_URL=postgresql+psycopg://ipsextractor:ipsextractor@database:5432/ipsextractor
MINIO_ENDPOINT=https://s3.builker.xyz
MINIO_BUCKET=pys-cuentas-medicas
MINIO_ANONYMOUS=1

Worker en PCs (bots/bot_descarga)

cd bots/bot_descarga
python -m bot_descarga.worker.run \
  --api-url http://GATEWAY:8189/bot-descarga \
  --worker-id PC-01 \
  --token $BOT_API_TOKEN

O con GUI: python run_gui.py. Ver README del agent.

El agent queda idle hasta que el usuario cree un job desde el desktop (enviando job_id del Job IPSExtractor).

Tests (API)

cd services/bot_descarga
pytest -q