Pereiti prie turinio

Eilių valdymas

Queuety palaiko kelias pavadintas eiles. Kiekvienas vykdytojas apdoroja vieną eilę arba eilę pagal surikiuotą eilių sąrašą (žr. Vykdytojai); eiles galima pristabdyti ir tęsti nepriklausomai.

Pavadintos eilės

Siųskite užduotis į konkrečias eiles:

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

Paleiskite kiekvienos eilės vykdytojus:

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

Numatytoji eilė yra default. Jei nenurodysite eilės, užduotys bus siunčiamos į ją.

Pristabdymas ir tęsimas

Pristabdykite eilę, kad vykdytojai nebeperimtų naujų užduočių. Jau apdorojamos užduotys bus užbaigtos, tačiau naujos nebus paimamos.

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

Patikrinkite, ar eilė pristabdyta:

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

Per CLI:

Shell
wp queuety pause emails
wp queuety resume emails

Tai naudinga diegiant naujinimus arba atliekant priežiūros darbus, kai norite laikinai sustabdyti apdorojimą nenutraukdami vykdytojo.

Eilių statistika

Gaukite užduočių skaičių pagal būseną:

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

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

Per CLI:

Shell
wp queuety status
wp queuety status --queue=emails

Į nepavykusių užduočių saugyklą perkeltos užduotys

Pateikite visų į nepavykusių užduočių saugyklą perkeltų užduočių sąrašą (nepavyko atlikus visus pakartojimo bandymus):

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

Pakartokite jų vykdymą:

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

Užbaigtų užduočių valymas

Pašalinkite senas užbaigtas užduotis, kad duomenų bazė išliktų tvarkinga:

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

Per CLI:

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