Pereiti prie turinio

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