اذهب إلى المحتوى

السؤال

نشر

لم أجد أي أمر للحصول على عدد الظائف jobs الموجودة في حالة إنتظار pending. كيف يمكنني معرفة عدد كل pending jobs في لارافيل Laravel؟

هل يوجد أمر مخصص لهذا الأمر في لارافيل Laravel؟

Recommended Posts

  • 2
نشر

يتم وضع العمليات JOBs في رتل Queue قبل دخولها حيز التنفيذ، لذلك معرفة حجم الرتل، يعطينا عدد العمليات قد الانتظار. حيث نستخدم الدالة size من الصنف Queue ونمرر لها اسم الرتل

Queue::size($queue);

كما توفر لارافل الكئان 

Illuminate\Bus\Batch

الذي يتوفر عدة خواص:

العمليات التي لم تبدأ:

// عمليات قيد الإنتظار processed jobs ...
$batch->pendingJobs;

عمليات أخرى:

<?php

//  UUID المعرف الخاص
$batch->id;
 
// الاسم
$batch->name;
 
// العدد الكلي للعمليات
$batch->totalJobs;
 
 
// غير مكتملة | فشلت
$batch->failedJobs;
 
// المكتملة
$batch->processedJobs();
 
// نسبة الإكمال (0-100)...
$batch->progress();
 
// التأكد من إنتهاء العملية
$batch->finished();
 
// إلغاء العملية
$batch->cancel();
 
// Indicates if the batch has been cancelled...
$batch->cancelled();

 

  • 1
نشر

إن كنت تستخدم redis لتخزين المهام jobs بدلًا من قاعدة البيانات، فيمكنك معرفة حجم  queue من خلال Redis Facade بهذا الشكل:

use Illuminate\Support\Facades\Redis;

Redis::lrange('queueName', 0, -1);	// قم بإستبدال queueName باسم الرتل

أيضًا يمكنك إستخدام الحزمة laravel/horizon والتي توفر لك لوحة تحكم للإطلاع على queue system ومعرفة كل الوظائف التي تمت والتي فشلت في التنفيذ وغيرها، يمكنك تثبيت الحزمة من خلال الأوامر التالية:

composer require laravel/horizon
php artisan horizon:install

ولتشغيل لوحة التحكم عليك تنفيذ الأمر التالي:

php artisan horizon

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...