إدارة قوائم الانتظار
يدعم Queuety قوائم انتظار متعددة بأسماء مختلفة. يعالج كل عامل قائمة انتظار واحدة أو قائمة مرتبة من قوائم الانتظار (راجع العمال)، ويمكن إيقاف القوائم واستئنافها كلٌّ على حدة.
قوائم الانتظار المسماة
أرسل المهام إلى قوائم انتظار محددة:
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' );
شغّل العمال لكل قائمة انتظار:
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
قائمة الانتظار الافتراضية هي default. إذا لم تحدد قائمة، فستُرسل المهام إليها.
الإيقاف المؤقت والاستئناف
أوقف قائمة انتظار مؤقتًا لمنع العمال من استلام مهام جديدة. ستكتمل المهام التي تجري معالجتها، لكن لن تُستلم مهام جديدة.
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
تحقق مما إذا كانت قائمة انتظار متوقفة مؤقتًا:
if ( Queuety::is_paused( 'emails' ) ) {
// Queue is paused
}
عبر CLI:
wp queuety pause emails
wp queuety resume emails
يفيد ذلك أثناء النشر أو فترات الصيانة، حين تريد إيقاف المعالجة مؤقتًا دون إنهاء العامل.
إحصاءات قائمة الانتظار
احصل على أعداد المهام مجمعة حسب الحالة:
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue
// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
عبر CLI:
wp queuety status
wp queuety status --queue=emails
المهام المدفونة
اعرض جميع المهام المدفونة (التي أخفقت بعد استنفاد محاولات إعادة التنفيذ):
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
أعد محاولة تنفيذها:
Queuety::retry( $job_id ); // retry a specific job
Queuety::retry_buried(); // retry all buried jobs
حذف المهام المكتملة
أزل المهام القديمة المكتملة للحفاظ على نظافة قاعدة البيانات:
$count = Queuety::purge(); // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
عبر CLI:
wp queuety purge
wp queuety purge --older-than=30