Μετάβαση στο περιεχόμενο

Καταγραφή

Το Queuety καταγράφει κάθε συμβάν εργασίας και ροής εργασίας στον πίνακα βάσης δεδομένων queuety_logs. Δεν υπάρχουν αρχεία καταγραφής. Μπορείτε να αναζητήσετε όλες τις εγγραφές μέσω των PHP API και CLI.

Τύποι συμβάντων

Κάθε εγγραφή καταγραφής έχει έναν τύπο συμβάντος από το enum LogEvent:

Συμβάν Περιγραφή
started Ξεκίνησε η εκτέλεση της εργασίας
completed Η εργασία ολοκληρώθηκε με επιτυχία
failed Η προσπάθεια προκάλεσε εξαίρεση και θα επαναληφθεί (η τελευταία προσπάθεια καταγράφει μόνο buried)
buried Η εργασία εξάντλησε όλες τις προσπάθειες επανάληψης
retried Προγραμματίστηκε επανάληψη της εργασίας
workflow_started Έγινε αποστολή της ροής εργασίας
workflow_completed Ολοκληρώθηκαν όλα τα βήματα της ροής εργασίας
workflow_failed Το βήμα της ροής εργασίας απέτυχε οριστικά
workflow_paused Η ροή εργασίας τέθηκε σε παύση
workflow_resumed Η ροή εργασίας συνεχίστηκε
workflow_cancelled Η ροή εργασίας ακυρώθηκε
workflow_rewound Η ροή εργασίας επανήλθε σε προηγούμενο βήμα
workflow_forked Η ροή εργασίας διακλαδώθηκε σε νέα ροή εργασίας
workflow_deadline_exceeded Η ροή εργασίας έχασε την προθεσμία της must_complete_within()
debug Μήνυμα επιπέδου εντοπισμού σφαλμάτων (όταν είναι ενεργοποιημένο το QUEUETY_DEBUG)

Πεδία καταγραφής

Κάθε εγγραφή καταγραφής περιέχει:

Πεδίο Περιγραφή
id Αυτόματα αυξανόμενο αναγνωριστικό
event Συμβολοσειρά τύπου συμβάντος
handler Όνομα ή κλάση χειριστή
job_id Σχετικό αναγνωριστικό εργασίας (nullable)
workflow_id Σχετικό αναγνωριστικό ροής εργασίας (nullable)
step_index Δείκτης βήματος ροής εργασίας (nullable)
attempt Αριθμός προσπάθειας
duration_ms Διάρκεια εκτέλεσης σε χιλιοστά του δευτερολέπτου
error_message Μήνυμα σφάλματος σε περίπτωση αποτυχίας
created_at Χρονική σήμανση

Αναζήτηση καταγραφών μέσω 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 );

Αναζήτηση καταγραφών μέσω CLI

Κέλυφος
# 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

Διατήρηση καταγραφών

Οι καταγραφές διατηρούνται μέχρι να τις διαγράψετε. Η σταθερά QUEUETY_LOG_RETENTION_DAYS διαβάζεται από το Config::log_retention_days(), αλλά δεν χρησιμοποιείται ακόμη, επομένως δεν διαγράφει τίποτα (#15). Δεν είναι επίσης δυνατή η πρόσβαση στην υποεντολή wp queuety log purge (#11).

Διαγράψτε τις καταγραφές από το PHP, για παράδειγμα από τη δική σας προγραμματισμένη εργασία ή με το wp eval:

PHP
$count = Queuety::logger()->purge( 30 );