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:
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:
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.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Patikrinkite, ar eilė pristabdyta:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
Per CLI:
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ą:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
Per CLI:
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):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Pakartokite jų vykdymą:
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:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
Per CLI:
wp queuety purge
wp queuety purge --older-than=30