# Worker de colas en Docker

La aplicacion usa `QUEUE_CONNECTION=database`. El scheduler (`schedule:work`)
solo ejecuta tareas programadas; no consume la tabla `jobs`. El servicio
`worker` debe ejecutarse junto al compose de produccion para procesar todos los
jobs de Laravel, incluidos reportes, notificaciones e importaciones.

El archivo `ops/queue/docker-compose.worker.yml` es un overlay del compose de
produccion. Se levanta con:

```bash
docker compose -f /var/www/farmacia/docker-compose.yml \
  -f /var/www/farmacia/ops/queue/docker-compose.worker.yml \
  up -d --build worker
```

El worker usa `restart: always`, procesa `default` y `reports`, y se reinicia
durante el deploy mediante `queue:restart`. No se debe ejecutar manualmente en
una terminal ni usar un worker separado por reporte.

La salud operativa se revisa con:

```bash
docker compose -f /var/www/farmacia/docker-compose.yml \
  -f /var/www/farmacia/ops/queue/docker-compose.worker.yml ps worker
docker compose -f /var/www/farmacia/docker-compose.yml \
  -f /var/www/farmacia/ops/queue/docker-compose.worker.yml logs --tail=100 worker
```
