Logboekregistratie
Queuety registreert elke taak- en workflowgebeurtenis in de databasetabel queuety_logs. Er zijn geen logbestanden. Alle vermeldingen kunnen worden opgevraagd via de PHP API en CLI.
Gebeurtenistypen
Elke logvermelding heeft een gebeurtenistype uit de enum LogEvent:
| Gebeurtenis | Beschrijving |
|---|---|
started |
Taakuitvoering gestart |
completed |
Taak succesvol voltooid |
failed |
Een poging veroorzaakte een uitzondering en wordt opnieuw geprobeerd (de laatste poging registreert alleen buried) |
buried |
Alle nieuwe pogingen voor de taak zijn opgebruikt |
retried |
Taak ingepland voor een nieuwe poging |
workflow_started |
Workflow gestart |
workflow_completed |
Alle workflowstappen voltooid |
workflow_failed |
Workflowstap definitief mislukt |
workflow_paused |
Workflow gepauzeerd |
workflow_resumed |
Workflow hervat |
workflow_cancelled |
Workflow geannuleerd |
workflow_rewound |
Workflow teruggezet naar een eerdere stap |
workflow_forked |
Workflow vertakt naar een nieuwe workflow |
workflow_deadline_exceeded |
Deadline van workflow must_complete_within() gemist |
debug |
Bericht op foutopsporingsniveau (wanneer QUEUETY_DEBUG is ingeschakeld) |
Logvelden
Elke logvermelding bevat:
| Veld | Beschrijving |
|---|---|
id |
Automatisch oplopende ID |
event |
Gebeurtenistypestring |
handler |
Handlernaam of klasse |
job_id |
Bijbehorende taak-ID (kan null zijn) |
workflow_id |
Bijbehorende workflow-ID (kan null zijn) |
step_index |
Index van de workflowstap (kan null zijn) |
attempt |
Pogingsnummer |
duration_ms |
Uitvoeringsduur in milliseconden |
error_message |
Foutmelding bij mislukking |
created_at |
Tijdstempel |
Logs opvragen 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 );
Logs opvragen 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
Logbewaring
Logs worden bewaard totdat u ze wist. De constante QUEUETY_LOG_RETENTION_DAYS wordt gelezen door Config::log_retention_days(), maar wordt nog nergens gebruikt en wist dus niets (#15). Ook de subopdracht wp queuety log purge kan niet worden bereikt (#11).
Wis logs vanuit PHP, bijvoorbeeld vanuit uw eigen geplande taak of met wp eval:
PHP
$count = Queuety::logger()->purge( 30 );