Saltar a contenido

Variables de entorno

Todas las variables se leen desde el archivo .env en el directorio de trabajo, o directamente como variables de entorno del sistema/container.

MySQL

Variable Default Descripción
DB_HOST 127.0.0.1 Host del servidor MySQL
DB_PORT 3306 Puerto MySQL
DB_USER root Usuario MySQL
DB_PASSWORD (vacío) Contraseña MySQL
DB_NAME rosgan Nombre de la base de datos
DB_POOL_MIN 1 Conexiones mínimas en el pool
DB_POOL_MAX 5 Conexiones máximas en el pool

Meilisearch

Variable Default Descripción
MEILI_URL http://localhost:7700 URL base de Meilisearch
MEILI_KEY masterKey Master key o API key con permisos de escritura
MEILI_INDEX certificados Nombre del índice

Worker

Variable Default Descripción
WORKER_MODE daemon daemon = loop infinito, cron = corre una vez y sale
WORKER_INTERVAL 10 Segundos entre ciclos en modo daemon
WORKER_BATCH_SIZE 200 Máximo de certificados a procesar por ciclo
ATRIBUTOS_VENTANA_MIN 1 Minutos hacia atrás para detectar cambios en ATRIBUTOS

Ejemplo de .env completo

# MySQL
DB_HOST=192.168.0.10
DB_PORT=3306
DB_USER=rosgan_worker
DB_PASSWORD=s3cr3t
DB_NAME=rosgan
DB_POOL_MIN=1
DB_POOL_MAX=5

# Meilisearch
MEILI_URL=http://192.168.0.10:7700
MEILI_KEY=mi_master_key_de_produccion
MEILI_INDEX=certificados

# Worker
WORKER_MODE=daemon
WORKER_INTERVAL=10
WORKER_BATCH_SIZE=200
ATRIBUTOS_VENTANA_MIN=1

Permisos MySQL

El usuario de MySQL necesita los siguientes permisos sobre la base rosgan:

GRANT SELECT, INSERT, DELETE ON rosgan.meilisearch_sync_queue TO 'rosgan_worker'@'%';
GRANT SELECT ON rosgan.HAC_CERTIFICADO TO 'rosgan_worker'@'%';
GRANT SELECT ON rosgan.ATRIBUTOS TO 'rosgan_worker'@'%';
-- (y el resto de tablas que usa la query)
Los triggers los ejecuta el usuario que hace el UPDATE/INSERT original, no el worker.