Logning
Queuety logger alle job- og workflowhændelser i databasetabellen queuety_logs. Der findes ingen logfiler. Alle poster kan forespørges via PHP API og CLI.
Hændelsestyper
Hver logpost har en hændelsestype fra enumen LogEvent:
| Hændelse | Beskrivelse |
|---|---|
started |
Jobudførelse startet |
completed |
Job fuldført uden fejl |
failed |
Et forsøg udløste en undtagelse og gentages (det sidste forsøg logger kun buried) |
buried |
Jobbet har brugt alle gentagelsesforsøg |
retried |
Jobbet blev planlagt til gentagelse |
workflow_started |
Workflow blev sendt til behandling |
workflow_completed |
Alle workflowtrin blev fuldført |
workflow_failed |
Workflowtrin mislykkedes permanent |
workflow_paused |
Workflow blev sat på pause |
workflow_resumed |
Workflow blev genoptaget |
workflow_cancelled |
Workflow blev annulleret |
workflow_rewound |
Workflow blev rullet tilbage til et tidligere trin |
workflow_forked |
Workflow blev forgrenet til et nyt workflow |
workflow_deadline_exceeded |
Workflow overskred sin must_complete_within()-deadline |
debug |
Meddelelse på fejlfindingsniveau (når QUEUETY_DEBUG er aktiveret) |
Logfelter
Hver logpost indeholder:
| Felt | Beskrivelse |
|---|---|
id |
ID, der øges automatisk |
event |
Hændelsestype som tekststreng |
handler |
Handlernavn eller -klasse |
job_id |
Tilknyttet job-ID (kan være null) |
workflow_id |
Tilknyttet workflow-ID (kan være null) |
step_index |
Indeks for workflowtrin (kan være null) |
attempt |
Forsøgsnummer |
duration_ms |
Udførelsesvarighed i millisekunder |
error_message |
Fejlmeddelelse ved fejl |
created_at |
Tidsstempel |
Forespørg efter logfiler 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 );
Forespørg efter logfiler 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
Opbevaring af logfiler
Logfiler gemmes, indtil du rydder dem. Konstanten QUEUETY_LOG_RETENTION_DAYS læses af Config::log_retention_days(), men bruges endnu ikke, så den rydder intet (#15). Underkommandoen wp queuety log purge kan heller ikke nås (#11).
Ryd op via PHP, f.eks. fra din egen planlagte opgave eller med wp eval:
PHP
$count = Queuety::logger()->purge( 30 );