Registravimas
Queuety registruoja kiekvieną užduoties ir proceso įvykį duomenų bazės lentelėje queuety_logs. Žurnalų failų nėra. Visus įrašus galima pateikti užklausomis per PHP API ir CLI.
Įvykių tipai
Kiekvienas žurnalo įrašas turi įvykio tipą iš LogEvent enum:
| Įvykis | Aprašymas |
|---|---|
started |
Pradėtas užduoties vykdymas |
completed |
Užduotis sėkmingai baigta |
failed |
Bandymo metu įvyko išimtis; bandymas bus kartojamas (galutiniame bandyme registruojamas tik buried) |
buried |
Išnaudoti visi užduoties pakartojimo bandymai |
retried |
Suplanuotas pakartotinis užduoties bandymas |
workflow_started |
Išsiųstas procesas |
workflow_completed |
Baigti visi proceso veiksmai |
workflow_failed |
Proceso veiksmas galutinai nepavyko |
workflow_paused |
Procesas pristabdytas |
workflow_resumed |
Procesas tęsiamas |
workflow_cancelled |
Procesas atšauktas |
workflow_rewound |
Procesas grąžintas prie ankstesnio veiksmo |
workflow_forked |
Proceso pagrindu sukurtas naujas procesas |
workflow_deadline_exceeded |
Praleistas proceso must_complete_within() terminas |
debug |
Derinimo lygio pranešimas (kai įjungta QUEUETY_DEBUG) |
Žurnalo laukai
Kiekviename žurnalo įraše yra:
| Laukas | Aprašymas |
|---|---|
id |
Automatiškai didėjantis ID |
event |
Įvykio tipo eilutė |
handler |
Apdorojimo funkcijos pavadinimas arba klasė |
job_id |
Susietos užduoties ID (gali būti nulinis) |
workflow_id |
Susieto proceso ID (gali būti nulinis) |
step_index |
Proceso veiksmo indeksas (gali būti nulinis) |
attempt |
Bandymo numeris |
duration_ms |
Vykdymo trukmė milisekundėmis |
error_message |
Klaidos pranešimas, jei įvyko klaida |
created_at |
Laiko žyma |
Žurnalų užklausos per 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 );
Žurnalų užklausos per 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
Žurnalų saugojimo trukmė
Žurnalai saugomi, kol juos išvalote. Konstantą QUEUETY_LOG_RETENTION_DAYS nuskaito Config::log_retention_days(), tačiau ji dar niekur nenaudojama, todėl nieko neišvalo (#15). Taip pat negalima pasiekti poįsakio wp queuety log purge (#11).
Išvalykite naudodami PHP, pavyzdžiui, savo suplanuotoje užduotyje arba su wp eval:
PHP
$count = Queuety::logger()->purge( 30 );