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

كيفية الحصول على عدد الوظائف jobs التي لم تنفذ بعد pending في لارافيل Laravel؟

Emad Saif

السؤال

لم أجد أي أمر للحصول على عدد الظائف 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...