Siirry sisältöön

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:

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

Käynnistä työntekijät kullekin jonolle:

Shell
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.

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

Tarkista, onko jono keskeytetty:

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

CLI-toiminnon kautta:

Shell
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ä:

PHP
$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:

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

Sivuun siirretyt työt

Listaa kaikki sivuun siirretyt työt (epäonnistuneet uudelleenyritysten loputtua):

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

Yritä niitä uudelleen:

PHP
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ä:

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

CLI-toiminnon kautta:

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