Saltar al contenido principal

Almacenamiento S3 para registros de tareas en segundo plano

Descripción general

Los registros de tareas en segundo plano se almacenan localmente en ./files/logs/tasks/ de forma predeterminada. Para utilizar almacenamiento compatible con S3, configure los parámetros en el archivo de configuración.

Necesario para configuraciones tolerantes a fallos

En entornos tolerantes a fallos, las tareas en segundo plano se ejecutan en cada nodo del servidor de aplicaciones: un nodo puede ejecutar N tareas, otro nodo su propio conjunto. La pestaña Tareas en segundo plano en la interfaz web solo muestra los registros del nodo actual. Para ver los registros de tareas que se ejecutaron en otro nodo, debe conectarse directamente a ese nodo. Con el almacenamiento S3, todos los registros están disponibles desde un único almacén y puede verlos en la interfaz web sin cambiar entre nodos.

Archivo de configuración

Los parámetros de S3 se establecen en .env.local (o .env en Docker), ubicado en:

  • Linux/var/www/.env.local
  • Windows ServerC:\inetpub\wwwroot\passwork\.env.local
  • Docker/<passwork>/.env
info

Si el archivo no existe, créelo.

Parámetros

ParámetroDescripción
APP_FILES_SOURCEFuente de almacenamiento: files.storage.local (predeterminado) o files.storage.aws (S3).
S3_REGIONRegión del bucket.
S3_BUCKETNombre del bucket.
S3_STORAGE_PREFIXPrefijo de ruta dentro del bucket (p. ej. passwork-logs).
S3_STORAGE_KEYClave de acceso S3.
S3_STORAGE_SECRETClave secreta S3.
S3_ENDPOINTEndpoint de almacenamiento. Omitir para AWS S3.
S3_USE_PATH_STYLE_ENDPOINTDireccionamiento de estilo de ruta: 0 — estilo de host virtual, 1 — estilo de ruta (use 1 para MinIO).

Los registros se guardan en — {S3_STORAGE_PREFIX}logs/tasks/YYYY/MM/DD/task-{taskId}.log

Ejemplos

AWS

APP_FILES_SOURCE=files.storage.aws
S3_REGION=us-east-1
S3_BUCKET=pwk
S3_STORAGE_PREFIX=passwork-logs
S3_STORAGE_KEY=AKIAIOSFODNN7EXAMPLE
S3_STORAGE_SECRET=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
S3_USE_PATH_STYLE_ENDPOINT=0

MinIO

APP_FILES_SOURCE=files.storage.aws
S3_REGION=us-east-1
S3_BUCKET=pwk
S3_STORAGE_PREFIX=passwork-logs
S3_ENDPOINT=https://minio.example.com
S3_USE_PATH_STYLE_ENDPOINT=1
S3_STORAGE_KEY=webapp-logs
S3_STORAGE_SECRET=1GV6qaFpMYR11zs0VDEy

DigitalOcean Spaces

APP_FILES_SOURCE=files.storage.aws
S3_REGION=nyc3
S3_BUCKET=pwk
S3_STORAGE_PREFIX=passwork-logs
S3_ENDPOINT=https://nyc3.digitaloceanspaces.com
S3_USE_PATH_STYLE_ENDPOINT=0
S3_STORAGE_KEY=your-spaces-access-key
S3_STORAGE_SECRET=your-spaces-secret-key

Google Cloud Storage

APP_FILES_SOURCE=files.storage.aws
S3_REGION=us-east1
S3_BUCKET=pwk
S3_STORAGE_PREFIX=passwork-logs
S3_ENDPOINT=https://storage.googleapis.com
S3_USE_PATH_STYLE_ENDPOINT=0
S3_STORAGE_KEY=your-gcs-hmac-access-id
S3_STORAGE_SECRET=your-gcs-hmac-secret

Después de cambiar los parámetros, reinicie el servicio PHP-FPM o el contenedor Docker:

systemctl restart php8.3-fpm