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

كيفية الحصول على حدث الإدخال في queue ضمن لارافيل

Amir Alsaeed

السؤال

أقوم باستخدام job processing و job processed و job failed لمعرفة حالات الوظائف في لارافيل ورؤية حالة جدول queue log table.

ولكن أيضاً أحتاج معرفة الحالات الإضافية مثل عند إدخال عمل ما إلى الرتل، فعند استخدامي للتابع:

\Redis::lrange('queues:mws', 0, -1)

يمكنني رؤية متغيّر اسمه pushedAt ولكن لا أعلم كيف يمكنني الوصول إليه أو التحكم به

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك الدخول إلى الغرض والحصول على قيمة المتغيّر jobPushed عن طريق استخدام Laravel Horizon عن طريق الاستماع إلى الحدث jobPushed.

فإن البيانات المرسلة مع هذا الحدث فيها جميع البيانات المتعلقة بالعمل الذي يتم إدخاله مثل: ID, name, connection, queue إلخ. وبذلك يمكنك معرفة عند إدخال هذا العمل إلى الرتل وإجراء أي عمليات معالجة ترغب بها بمجرّد تشغيل الحدث.

ويمكنك تنفيذ ذلك كالتالي:

Event::listen(JobPushed::class, function(JobPushed $event){
    \Log::debug('JobPushed Event Fired ', [
        'connection' => $event->connectionName,
        'queue' => $event->queue,
        'payload' => [
            'id' => $event->payload->id(),
            'displayName' => $event->payload->displayName(),
            'commandName' => $event->payload->commandName(),
            'isRetry' => $event->payload->isRetry(),
            'retryOf' => $event->payload->retryOf(),
        ]
    ]);
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...