Preskočiť na obsah

Správa frontov

Queuety podporuje viacero pomenovaných frontov. Každý pracovník spracúva jeden front alebo usporiadaný zoznam frontov (pozrite si Pracovníci) a jednotlivé fronty možno nezávisle pozastaviť a obnoviť.

Pomenované fronty

Odosielajte úlohy do konkrétnych frontov:

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

Spustite pracovníkov pre jednotlivé fronty:

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

Predvolený front je default. Ak front neurčíte, úlohy sa odošlú doň.

Pozastavenie a obnovenie

Pozastavte front, aby si pracovníci nemohli prevziať nové úlohy. Už spracovávané úlohy sa dokončia, no nové sa nezačnú spracúvať.

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

Skontrolujte, či je front pozastavený:

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

Cez CLI:

Shell
wp queuety pause emails
wp queuety resume emails

Hodí sa to počas nasadzovania alebo údržby, keď chcete dočasne zastaviť spracovanie bez ukončenia pracovníka.

Štatistiky frontov

Získajte počty úloh zoskupené podľa stavu:

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

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

Cez CLI:

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

Neúspešné úlohy

Zobrazte všetky neúspešné úlohy (zlyhali po vyčerpaní opakovaných pokusov):

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

Opakujte ich:

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

Mazanie dokončených úloh

Odstráňte staré dokončené úlohy, aby databáza zostala prehľadná:

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

Cez CLI:

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