Ga naar de inhoud

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