Pular para o conteúdo

Registro em log

Queuety registra todos os eventos de jobs e workflows na tabela de banco de dados queuety_logs. Não há arquivos de log. Todas as entradas podem ser consultadas por meio de PHP API e CLI.

Tipos de evento

Cada entrada de log tem um tipo de evento do enum LogEvent:

Evento Descrição
started A execução do job foi iniciada
completed O job foi concluído com sucesso
failed Uma tentativa lançou uma exceção e será repetida (a tentativa final registra somente buried)
buried O job esgotou todas as tentativas de repetição
retried O job foi agendado para nova tentativa
workflow_started O workflow foi despachado
workflow_completed Todas as etapas do workflow foram concluídas
workflow_failed A etapa do workflow falhou permanentemente
workflow_paused O workflow foi pausado
workflow_resumed O workflow foi retomado
workflow_cancelled O workflow foi cancelado
workflow_rewound O workflow foi retrocedido para uma etapa anterior
workflow_forked O workflow foi dividido em um novo workflow
workflow_deadline_exceeded O workflow perdeu o prazo must_complete_within()
debug Mensagem de nível de depuração (quando QUEUETY_DEBUG está ativado)

Campos do log

Cada entrada de log contém:

Campo Descrição
id ID incrementado automaticamente
event String do tipo de evento
handler Nome ou classe do handler
job_id ID do job associado (pode ser nulo)
workflow_id ID do workflow associado (pode ser nulo)
step_index Índice da etapa do workflow (pode ser nulo)
attempt Número da tentativa
duration_ms Duração da execução em milissegundos
error_message Mensagem de erro em caso de falha
created_at Registro de data e hora

Consultar logs por meio de 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 logs por meio de 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

Retenção de logs

Os logs são mantidos até que você os apague. A constante QUEUETY_LOG_RETENTION_DAYS é lida por Config::log_retention_days(), mas nada a utiliza ainda; portanto, ela não apaga nada (#15). Também não é possível acessar o subcomando wp queuety log purge (#11).

Apague os logs por meio de PHP, por exemplo, em uma tarefa agendada sua ou com wp eval:

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