Günlük Kaydı
Queuety, her iş ve iş akışı olayını queuety_logs veritabanı tablosuna kaydeder. Günlük dosyası yoktur. Tüm kayıtlar PHP API ve CLI aracılığıyla sorgulanabilir.
Olay türleri
Her günlük kaydının LogEvent enum'undan bir olay türü vardır:
| Olay | Açıklama |
|---|---|
started |
İş yürütmesi başladı |
completed |
İş başarıyla tamamlandı |
failed |
Bir deneme hata verdi ve yeniden denenecek (son deneme yalnızca buried kaydeder) |
buried |
İş tüm yeniden deneme girişimlerini tüketti |
retried |
İş yeniden denenmek üzere zamanlandı |
workflow_started |
İş akışı dağıtıldı |
workflow_completed |
Tüm iş akışı adımları tamamlandı |
workflow_failed |
İş akışı adımı kalıcı olarak başarısız oldu |
workflow_paused |
İş akışı duraklatıldı |
workflow_resumed |
İş akışı sürdürüldü |
workflow_cancelled |
İş akışı iptal edildi |
workflow_rewound |
İş akışı önceki bir adıma geri alındı |
workflow_forked |
İş akışı yeni bir iş akışına çatallandı |
workflow_deadline_exceeded |
İş akışının must_complete_within() son tarihi kaçırıldı |
debug |
Hata ayıklama düzeyi mesaj (QUEUETY_DEBUG etkin olduğunda) |
Günlük alanları
Her günlük kaydı şunları içerir:
| Alan | Açıklama |
|---|---|
id |
Otomatik artan kimlik |
event |
Olay türü dizesi |
handler |
İşleyici adı veya sınıfı |
job_id |
İlişkili iş kimliği (boş olabilir) |
workflow_id |
İlişkili iş akışı kimliği (boş olabilir) |
step_index |
İş akışı adım dizini (boş olabilir) |
attempt |
Deneme numarası |
duration_ms |
Milisaniye cinsinden yürütme süresi |
error_message |
Başarısızlık durumunda hata mesajı |
created_at |
Zaman damgası |
Günlükleri PHP üzerinden sorgulama
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 );
Günlükleri CLI üzerinden sorgulama
Kabuk
# 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
Günlük saklama süresi
Günlükler siz onları temizleyene kadar saklanır. QUEUETY_LOG_RETENTION_DAYS sabiti Config::log_retention_days() tarafından okunur ancak henüz kullanılmadığından hiçbir şeyi temizlemez (#15). wp queuety log purge alt komutuna da erişilemez (#11).
PHP üzerinden, örneğin kendi zamanlanmış görevinizden veya wp eval ile temizleyin:
PHP
$count = Queuety::logger()->purge( 30 );