Jonojen hallinta
Queuety tukee useita nimettyjä jonoja. Kukin työntekijä käsittelee yhtä jonoa tai järjestettyä jonoluetteloa (katso Työntekijät), ja jonoja voi keskeyttää ja jatkaa toisistaan riippumatta.
Nimetyt jonot
Lähetä töitä tiettyihin jonoihin:
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äynnistä työntekijät kullekin jonolle:
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
Oletusjono on default. Jos et määritä jonoa, työt menevät sinne.
Keskeytys ja jatkaminen
Keskeytä jono, jotta työntekijät eivät ota uusia töitä käsiteltäväksi. Käsittelyssä olevat työt suoritetaan loppuun, mutta uusia töitä ei oteta käsittelyyn.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Tarkista, onko jono keskeytetty:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
CLI-toiminnon kautta:
wp queuety pause emails
wp queuety resume emails
Tämä on hyödyllistä käyttöönottojen tai huoltoikkunoiden aikana, kun haluat pysäyttää käsittelyn tilapäisesti lopettamatta työntekijää.
Jonotilastot
Hae työn määrät tilan mukaan ryhmiteltyinä:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
CLI-toiminnon kautta:
wp queuety status
wp queuety status --queue=emails
Sivuun siirretyt työt
Listaa kaikki sivuun siirretyt työt (epäonnistuneet uudelleenyritysten loputtua):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Yritä niitä uudelleen:
Queuety::retry( $job_id ); // retry a specific job
Queuety::retry_buried(); // retry all buried jobs
Valmiiden töiden poistaminen
Poista vanhat valmiit työt, jotta tietokanta pysyy siistinä:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
CLI-toiminnon kautta:
wp queuety purge
wp queuety purge --older-than=30