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:
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:
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.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Preverite, ali je čakalna vrsta začasno ustavljena:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
Prek CLI:
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:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
Prek CLI:
wp queuety status
wp queuety status --queue=emails
Arhivirana opravila
Prikažite vsa arhivirana opravila (neuspešna po izčrpanju ponovnih poskusov):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Ponovite jih:
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:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
Prek CLI:
wp queuety purge
wp queuety purge --older-than=30