Liigu sisu juurde

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:

PHP
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:

Shell
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.

PHP
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );

Kontrollige, kas järjekord on peatatud:

PHP
if ( Queuety::is_paused( 'emails' ) ) {
    // Queue is paused
}

CLI kaudu:

Shell
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:

PHP
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue

// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]

CLI kaudu:

Shell
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):

PHP
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue

Proovige neid uuesti:

PHP
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:

PHP
$count = Queuety::purge();     // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days

CLI kaudu:

Shell
wp queuety purge
wp queuety purge --older-than=30