Preskoči na vsebino

Upravljanje čakalnih vrst

Queuety podpira več poimenovanih čakalnih vrst. Vsak delavec obdeluje eno čakalno vrsto ali urejen seznam čakalnih vrst (glejte Delavci), čakalne vrste pa lahko neodvisno začasno ustavite in nadaljujete.

Poimenovane čakalne vrste

Pošljite opravila v določene čakalne vrste:

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

Zaženite delavce za posamezne čakalne vrste:

Lupina
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync

Privzeta čakalna vrsta je default. Če čakalne vrste ne določite, se opravila pošljejo vanjo.

Začasna ustavitev in nadaljevanje

Začasno ustavite čakalno vrsto, da delavcem preprečite prevzem novih opravil. Opravila, ki se že obdelujejo, se bodo dokončala, novih pa ne bodo prevzeli.

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

Preverite, ali je čakalna vrsta začasno ustavljena:

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

Prek CLI:

Lupina
wp queuety pause emails
wp queuety resume emails

To je uporabno med uvajanjem ali vzdrževalnimi okni, ko želite začasno ustaviti obdelavo, ne da bi ukinili delavca.

Statistika čakalnih vrst

Pridobite število opravil, razvrščenih po stanju:

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

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

Prek CLI:

Lupina
wp queuety status
wp queuety status --queue=emails

Arhivirana opravila

Prikažite vsa arhivirana opravila (neuspešna po izčrpanju ponovnih poskusov):

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

Ponovite jih:

PHP
Queuety::retry( $job_id );       // retry a specific job
Queuety::retry_buried();         // retry all buried jobs

Brisanje dokončanih opravil

Odstranite stara dokončana opravila, da ohranite urejeno zbirko podatkov:

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

Prek CLI:

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