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