Saltar al contenido

Registro

Queuety registra cada evento de trabajo y flujo de trabajo en la tabla de base de datos queuety_logs. No hay archivos de registro. Todas las entradas se pueden consultar mediante PHP API y CLI.

Tipos de eventos

Cada entrada de registro tiene un tipo de evento del enum LogEvent:

Evento Descripción
started Se inició la ejecución del trabajo
completed El trabajo se completó correctamente
failed Un intento produjo una excepción y se volverá a intentar (el intento final solo registra buried)
buried El trabajo agotó todos los intentos de reintento
retried Se programó un reintento del trabajo
workflow_started Se inició el flujo de trabajo
workflow_completed Se completaron todos los pasos del flujo de trabajo
workflow_failed El paso del flujo de trabajo falló de forma permanente
workflow_paused Se pausó el flujo de trabajo
workflow_resumed Se reanudó el flujo de trabajo
workflow_cancelled Se canceló el flujo de trabajo
workflow_rewound El flujo de trabajo volvió a un paso anterior
workflow_forked El flujo de trabajo se bifurcó en uno nuevo
workflow_deadline_exceeded El flujo de trabajo incumplió su plazo must_complete_within()
debug Mensaje de nivel de depuración (cuando está habilitado QUEUETY_DEBUG)

Campos del registro

Cada entrada de registro contiene:

Campo Descripción
id ID autoincremental
event Cadena del tipo de evento
handler Nombre del controlador o clase
job_id ID del trabajo asociado (admite nulo)
workflow_id ID del flujo de trabajo asociado (admite nulo)
step_index Índice del paso del flujo de trabajo (admite nulo)
attempt Número de intento
duration_ms Duración de la ejecución en milisegundos
error_message Mensaje de error, si se produjo un fallo
created_at Marca de tiempo

Consultar registros mediante PHP

PHP
$logger = Queuety::logger();

// Logs for a specific job
$logs = $logger->for_job( 42 );

// Logs for a specific workflow
$logs = $logger->for_workflow( 7 );

// Logs for a specific handler
$logs = $logger->for_handler( 'send_email', 50 );

// Logs for a specific event type
$logs = $logger->for_event( \Queuety\Enums\LogEvent::Failed, 50 );

// Logs since a datetime
$logs = $logger->since( new \DateTimeImmutable( '-1 hour' ), 100 );

Consultar registros mediante CLI

Shell
# Recent logs (last 24 hours)
wp queuety log

# Logs for a specific job
wp queuety log --job=42

# Logs for a specific workflow
wp queuety log --workflow=7

# Logs for a handler
wp queuety log --handler=send_email

# Logs for an event type
wp queuety log --event=failed

# Logs since a datetime
wp queuety log --since="2025-01-01 00:00:00"

# Custom limit and format
wp queuety log --limit=100 --format=json

Retención de registros

Los registros se conservan hasta que los elimine. QUEUETY_LOG_RETENTION_DAYS lee la constante Config::log_retention_days(), pero todavía no se usa, así que no elimina nada (#15). Tampoco se puede acceder al subcomando wp queuety log purge (#11).

Elimine los registros desde PHP, por ejemplo, con su propia tarea programada o con wp eval:

PHP
$count = Queuety::logger()->purge( 30 );