Διαχείριση ουρών
Το Queuety υποστηρίζει πολλές επώνυμες ουρές. Κάθε εργαζόμενος επεξεργάζεται μία ουρά ή μια ταξινομημένη λίστα ουρών (βλ. Εργαζόμενοι) και οι ουρές μπορούν να τεθούν σε παύση και να συνεχιστούν ανεξάρτητα.
Επώνυμες ουρές
Αποστείλετε εργασίες σε συγκεκριμένες ουρές:
use Queuety\Queuety;
Queuety::dispatch( 'send_email', $payload )->on_queue( 'emails' );
Queuety::dispatch( 'process_image', $payload )->on_queue( 'media' );
Queuety::dispatch( 'sync_data', $payload )->on_queue( 'sync' );
Εκτελέστε εργαζομένους για κάθε ουρά:
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
Η προεπιλεγμένη ουρά είναι default. Αν δεν καθορίσετε ουρά, οι εργασίες αποστέλλονται εκεί.
Παύση και συνέχιση
Θέστε μια ουρά σε παύση για να σταματήσετε τους εργαζομένους από το να αναλαμβάνουν νέες εργασίες. Οι εργασίες που ήδη υποβάλλονται σε επεξεργασία θα ολοκληρωθούν, αλλά δεν θα αναληφθούν νέες.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Ελέγξτε αν μια ουρά βρίσκεται σε παύση:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
Μέσω του CLI:
wp queuety pause emails
wp queuety resume emails
Αυτό είναι χρήσιμο κατά τις αναπτύξεις ή τα παράθυρα συντήρησης, όταν θέλετε να διακόψετε προσωρινά την επεξεργασία χωρίς να τερματίσετε τον εργαζόμενο.
Στατιστικά ουράς
Λάβετε πλήθος εργασιών ομαδοποιημένο ανά κατάσταση:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
Μέσω του CLI:
wp queuety status
wp queuety status --queue=emails
Θαμμένες εργασίες
Εμφανίστε όλες τις θαμμένες εργασίες (που απέτυχαν αφού εξαντλήθηκαν οι προσπάθειες επανάληψης):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Επαναλάβετε την προσπάθεια για αυτές:
Queuety::retry( $job_id ); // retry a specific job
Queuety::retry_buried(); // retry all buried jobs
Εκκαθάριση ολοκληρωμένων εργασιών
Αφαιρέστε παλιές ολοκληρωμένες εργασίες για να διατηρήσετε καθαρή τη βάση δεδομένων:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
Μέσω του CLI:
wp queuety purge
wp queuety purge --older-than=30