Naplózás
A Queuety minden feladat- és munkafolyamat-eseményt a queuety_logs adatbázistáblába naplóz. Nincsenek naplófájlok. Minden bejegyzés lekérdezhető a PHP API és a CLI használatával.
Eseménytípusok
Minden naplóbejegyzés az LogEvent felsorolás egy eseménytípusát tartalmazza:
| Esemény | Leírás |
|---|---|
started |
A feladat végrehajtása elindult |
completed |
A feladat sikeresen befejeződött |
failed |
Egy próbálkozás kivételt dobott, ezért újrapróbálás következik (az utolsó próbálkozás csak buried eseményt naplóz) |
buried |
A feladat minden újrapróbálási kísérletet kimerített |
retried |
A feladat újrapróbálásra lett ütemezve |
workflow_started |
A munkafolyamat el lett indítva |
workflow_completed |
A munkafolyamat minden lépése befejeződött |
workflow_failed |
A munkafolyamat egyik lépése véglegesen meghiúsult |
workflow_paused |
A munkafolyamat szüneteltetve lett |
workflow_resumed |
A munkafolyamat folytatódott |
workflow_cancelled |
A munkafolyamat megszakadt |
workflow_rewound |
A munkafolyamat visszaállt egy korábbi lépésre |
workflow_forked |
A munkafolyamatból új munkafolyamat vált le |
workflow_deadline_exceeded |
A munkafolyamat elmulasztotta a must_complete_within() határidőt |
debug |
Hibakeresési szintű üzenet (ha a QUEUETY_DEBUG engedélyezve van) |
Naplómezők
Minden naplóbejegyzés a következőket tartalmazza:
| Mező | Leírás |
|---|---|
id |
Automatikusan növekvő azonosító |
event |
Eseménytípus-karakterlánc |
handler |
A kezelő neve vagy osztálya |
job_id |
Kapcsolódó feladatazonosító (lehet null) |
workflow_id |
Kapcsolódó munkafolyamatazonosító (lehet null) |
step_index |
Munkafolyamat-lépés indexe (lehet null) |
attempt |
Próbálkozás száma |
duration_ms |
Végrehajtás időtartama ezredmásodpercben |
error_message |
Hiba esetén a hibaüzenet |
created_at |
Időbélyeg |
Naplók lekérdezése a PHP segítségével
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 );
Naplók lekérdezése a CLI segítségével
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
Naplók megőrzése
A naplókat addig őrizzük meg, amíg nem törli őket. A QUEUETY_LOG_RETENTION_DAYS állandót a Config::log_retention_days() beolvassa, de egyelőre semmi sem használja, ezért nem töröl semmit (#15). A wp queuety log purge alparancs sem érhető el (#11).
Törölje a naplókat a PHP segítségével, például saját ütemezett feladatából vagy a wp eval használatával:
PHP
$count = Queuety::logger()->purge( 30 );