Järjekordade haldamine
Queuety toetab mitut nimega järjekorda. Iga töötaja töötleb üht järjekorda või järjekordade järjestatud loendit (vt Töötajad) ning järjekordi saab üksteisest sõltumatult peatada ja jätkata.
Nimega järjekorrad
Suunake tööd kindlatesse järjekordadesse:
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' );
Käivitage iga järjekorra jaoks töötajad:
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
Vaikejärjekord on default. Kui järjekorda ei määrata, suunatakse tööd sinna.
Peatamine ja jätkamine
Peatage järjekord, et töötajad ei saaks uusi töid võtta. Juba töödeldavad tööd viiakse lõpuni, kuid uusi töid enam ei võeta.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Kontrollige, kas järjekord on peatatud:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
CLI kaudu:
wp queuety pause emails
wp queuety resume emails
See on kasulik juurutuste või hooldusakende ajal, kui soovite töötlemise ajutiselt peatada ilma töötajat sulgemata.
Järjekorra statistika
Hankige tööde arv oleku järgi rühmitatuna:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
CLI kaudu:
wp queuety status
wp queuety status --queue=emails
Ootele paigutatud tööd
Loetlege kõik ootele paigutatud tööd (korduskatsete ammendumise järel ebaõnnestunud tööd):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Proovige neid uuesti:
Queuety::retry( $job_id ); // retry a specific job
Queuety::retry_buried(); // retry all buried jobs
Lõpetatud tööde kustutamine
Eemaldage vanad lõpetatud tööd, et andmebaas püsiks korras:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
CLI kaudu:
wp queuety purge
wp queuety purge --older-than=30