İçeriğe geç

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