Protokolovanie
Queuety zaznamenáva každú udalosť úlohy a pracovného postupu do databázovej tabuľky queuety_logs. Žiadne súbory protokolov sa nevytvárajú. Všetky záznamy možno vyhľadávať pomocou PHP API a CLI.
Typy udalostí
Každý záznam protokolu má typ udalosti z výčtu LogEvent:
| Udalosť | Opis |
|---|---|
started |
Začalo sa vykonávanie úlohy |
completed |
Úloha sa úspešne dokončila |
failed |
Pri pokuse došlo k výnimke a pokus sa zopakuje (pri poslednom pokuse sa zaznamená iba buried) |
buried |
Úloha vyčerpala všetky opakované pokusy |
retried |
Opakovanie úlohy bolo naplánované |
workflow_started |
Pracovný postup bol spustený |
workflow_completed |
Všetky kroky pracovného postupu sa dokončili |
workflow_failed |
Krok pracovného postupu natrvalo zlyhal |
workflow_paused |
Pracovný postup bol pozastavený |
workflow_resumed |
Pracovný postup bol obnovený |
workflow_cancelled |
Pracovný postup bol zrušený |
workflow_rewound |
Pracovný postup sa vrátil k predchádzajúcemu kroku |
workflow_forked |
Pracovný postup sa rozvetvil do nového pracovného postupu |
workflow_deadline_exceeded |
Pracovný postup zmeškal termín must_complete_within() |
debug |
Správa úrovne ladenia (keď je povolené QUEUETY_DEBUG) |
Polia protokolu
Každý záznam protokolu obsahuje:
| Pole | Opis |
|---|---|
id |
Automaticky zvyšované ID |
event |
Reťazec typu udalosti |
handler |
Názov obslužnej rutiny alebo trieda |
job_id |
Súvisiace ID úlohy (môže byť null) |
workflow_id |
Súvisiace ID pracovného postupu (môže byť null) |
step_index |
Index kroku pracovného postupu (môže byť null) |
attempt |
Číslo pokusu |
duration_ms |
Trvanie vykonávania v milisekundách |
error_message |
Chybová správa v prípade zlyhania |
created_at |
Časová značka |
Vyhľadávanie protokolov cez 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 );
Vyhľadávanie protokolov cez 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
Uchovávanie protokolov
Protokoly sa uchovávajú, kým ich nevymažete. Konštantu QUEUETY_LOG_RETENTION_DAYS číta Config::log_retention_days(), ale zatiaľ ju nič nepoužíva, takže nič nevymaže (#15). Nedá sa spustiť ani podpríkaz wp queuety log purge (#11).
Vymazanie vykonajte cez PHP, napríklad vo vlastnej naplánovanej úlohe alebo pomocou wp eval:
PHP
$count = Queuety::logger()->purge( 30 );