Rindu pārvaldība
Queuety atbalsta vairākas nosauktas rindas. Katrs darbinieks apstrādā vienu rindu vai sakārtotu rindu sarakstu (skatiet Darbinieki), un rindas var apturēt un atsākt neatkarīgi.
Nosauktās rindas
Nosūtiet darbus uz noteiktām rindām:
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' );
Palaidiet darbiniekus katrai rindai:
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
Noklusējuma rinda ir default. Ja rindu nenorādāt, darbi tiek ievietoti tajā.
Apturēšana un atsākšana
Apturiet rindu, lai neļautu darbiniekiem pieņemt jaunus darbus. Jau apstrādē esošie darbi tiks pabeigti, taču jauni darbi netiks paņemti.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
Pārbaudiet, vai rinda ir apturēta:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
Izmantojot CLI:
wp queuety pause emails
wp queuety resume emails
Tas noder izvietošanas vai apkopes laikā, kad vēlaties uz laiku apturēt apstrādi, nenogalinot darbinieku.
Rindu statistika
Iegūstiet darbu skaitu, grupētu pēc statusa:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
Izmantojot CLI:
wp queuety status
wp queuety status --queue=emails
Apbedītie darbi
Uzskaitiet visus apbedītos darbus (kuriem beigušies atkārtotas mēģināšanas mēģinājumi):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
Mēģiniet tos izpildīt vēlreiz:
Queuety::retry( $job_id ); // retry a specific job
Queuety::retry_buried(); // retry all buried jobs
Pabeigto darbu tīrīšana
Noņemiet vecos pabeigtos darbus, lai uzturētu datubāzi tīru:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
Izmantojot CLI:
wp queuety purge
wp queuety purge --older-than=30