Hoppa till innehåll

Loggning

Queuety loggar varje jobb- och arbetsflödeshändelse i databastabellen queuety_logs. Det finns inga loggfiler. Alla poster kan sökas via PHP API och CLI.

Händelsetyper

Varje loggpost har en händelsetyp från enumen LogEvent:

Händelse Beskrivning
started Jobbkörningen startade
completed Jobbet slutfördes utan fel
failed Ett försök kastade ett undantag och kommer att göras om (det sista försöket loggar endast buried)
buried Jobbet har förbrukat alla omförsök
retried Jobbet schemalades för omförsök
workflow_started Arbetsflödet skickades iväg
workflow_completed Alla steg i arbetsflödet slutfördes
workflow_failed Arbetsflödessteget misslyckades permanent
workflow_paused Arbetsflödet pausades
workflow_resumed Arbetsflödet återupptogs
workflow_cancelled Arbetsflödet avbröts
workflow_rewound Arbetsflödet spolades tillbaka till ett tidigare steg
workflow_forked Arbetsflödet förgrenades till ett nytt arbetsflöde
workflow_deadline_exceeded Arbetsflödet missade sin tidsfrist must_complete_within()
debug Meddelande på felsökningsnivå (när QUEUETY_DEBUG är aktiverat)

Loggfält

Varje loggpost innehåller:

Fält Beskrivning
id Autoincrementerande ID
event Händelsetypsträng
handler Hanterarnamn eller klass
job_id Tillhörande jobb-ID (kan vara null)
workflow_id Tillhörande arbetsflödes-ID (kan vara null)
step_index Arbetsflödesstegets index (kan vara null)
attempt Försöksnummer
duration_ms Körningstid i millisekunder
error_message Felmeddelande om körningen misslyckades
created_at Tidsstämpel

Söka i loggar via 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 );

Söka i loggar via 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

Loggbevarande

Loggar sparas tills du rensar dem. Konstanten QUEUETY_LOG_RETENTION_DAYS läses av Config::log_retention_days(), men används ännu inte till något och rensar därför ingenting (#15). Det går inte heller att nå underkommandot wp queuety log purge (#11).

Rensa från PHP, till exempel från en egen schemalagd aktivitet eller med wp eval:

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