Pencatatan Log
Queuety mencatat setiap peristiwa pekerjaan dan alur kerja ke tabel basis data queuety_logs. Tidak ada file log. Semua entri dapat dikueri melalui PHP API dan CLI.
Jenis peristiwa
Setiap entri log memiliki jenis peristiwa dari enum LogEvent:
| Peristiwa | Deskripsi |
|---|---|
started |
Eksekusi pekerjaan dimulai |
completed |
Pekerjaan berhasil diselesaikan |
failed |
Suatu percobaan menimbulkan pengecualian dan akan dicoba lagi (percobaan terakhir hanya mencatat buried) |
buried |
Semua percobaan ulang pekerjaan telah habis |
retried |
Pekerjaan dijadwalkan untuk dicoba lagi |
workflow_started |
Alur kerja dikirim |
workflow_completed |
Semua langkah alur kerja selesai |
workflow_failed |
Langkah alur kerja gagal secara permanen |
workflow_paused |
Alur kerja dijeda |
workflow_resumed |
Alur kerja dilanjutkan |
workflow_cancelled |
Alur kerja dibatalkan |
workflow_rewound |
Alur kerja dikembalikan ke langkah sebelumnya |
workflow_forked |
Alur kerja dicabangkan menjadi alur kerja baru |
workflow_deadline_exceeded |
Alur kerja melewati tenggat must_complete_within() |
debug |
Pesan tingkat debug (saat QUEUETY_DEBUG diaktifkan) |
Kolom log
Setiap entri log memuat:
| Kolom | Deskripsi |
|---|---|
id |
ID yang bertambah otomatis |
event |
String jenis peristiwa |
handler |
Nama atau kelas handler |
job_id |
ID pekerjaan terkait (bisa null) |
workflow_id |
ID alur kerja terkait (bisa null) |
step_index |
Indeks langkah alur kerja (bisa null) |
attempt |
Nomor percobaan |
duration_ms |
Durasi eksekusi dalam milidetik |
error_message |
Pesan kesalahan jika gagal |
created_at |
Stempel waktu |
Mengueri log melalui 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 );
Mengueri log melalui 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
Retensi log
Log disimpan sampai Anda menghapusnya. Konstanta QUEUETY_LOG_RETENTION_DAYS dibaca oleh Config::log_retention_days(), tetapi belum digunakan, jadi konstanta itu tidak menghapus apa pun (#15). Subperintah wp queuety log purge juga tidak dapat dijalankan (#11).
Hapus melalui PHP, misalnya dari tugas terjadwal Anda sendiri atau dengan wp eval:
PHP
$count = Queuety::logger()->purge( 30 );