52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# 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`](../../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`)
|
|
|
|
```bash
|
|
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](../../bots/bot_descarga/README.md).
|
|
|
|
El agent queda idle hasta que el usuario cree un job desde el desktop
|
|
(enviando `job_id` del Job IPSExtractor).
|
|
|
|
## Tests (API)
|
|
|
|
```bash
|
|
cd services/bot_descarga
|
|
pytest -q
|
|
```
|