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 );