Pāriet uz saturu

Žurnalēšana

Queuety reģistrē katru uzdevuma un darbplūsmas notikumu datubāzes tabulā queuety_logs. Žurnālfailu nav. Visus ierakstus var vaicāt, izmantojot PHP API un CLI.

Notikumu veidi

Katram žurnāla ierakstam ir notikuma veids no uzskaitījuma LogEvent:

Notikums Apraksts
started Sākta uzdevuma izpilde
completed Uzdevums veiksmīgi pabeigts
failed Izpildes mēģinājumā radās izņēmums; tas tiks atkārtots (pēdējais mēģinājums reģistrē tikai buried)
buried Uzdevums izsmēlis visus atkārtotas izpildes mēģinājumus
retried Uzdevumu ieplānots atkārtot
workflow_started Darbplūsma izsūtīta
workflow_completed Pabeigtas visas darbplūsmas darbības
workflow_failed Darbplūsmas darbība neatgriezeniski neizdevās
workflow_paused Darbplūsma apturēta
workflow_resumed Darbplūsma atsākta
workflow_cancelled Darbplūsma atcelta
workflow_rewound Darbplūsma atritināta līdz iepriekšējai darbībai
workflow_forked No darbplūsmas izveidota jauna darbplūsma
workflow_deadline_exceeded Darbplūsma nokavēja savu termiņu must_complete_within()
debug Atkļūdošanas līmeņa ziņojums (ja iespējots QUEUETY_DEBUG)

Žurnāla lauki

Katrā žurnāla ierakstā ir:

Lauks Apraksts
id Automātiski piešķirts ID
event Notikuma veida virkne
handler Apstrādātāja nosaukums vai klase
job_id Saistītā uzdevuma ID (var būt null)
workflow_id Saistītās darbplūsmas ID (var būt null)
step_index Darbplūsmas darbības indekss (var būt null)
attempt Mēģinājuma numurs
duration_ms Izpildes ilgums milisekundēs
error_message Kļūdas ziņojums, ja izpilde neizdevās
created_at Laikspiedols

Žurnālu vaicājumi, izmantojot 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 );

Žurnālu vaicājumi, izmantojot CLI

Apvalks
# 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

Žurnālu saglabāšanas ilgums

Žurnāli tiek glabāti, līdz tos iztīrāt. Konstanti QUEUETY_LOG_RETENTION_DAYS nolasa Config::log_retention_days(), taču nekas to vēl neizmanto, tāpēc tā neko neiztīra (#15). Arī apakškomandu wp queuety log purge nevar izsaukt (#11).

Iztīriet tos ar PHP, piemēram, savā plānotajā uzdevumā vai izmantojot wp eval:

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