انتقل إلى محتوى الدرس

Dispatching and Delaying Jobs إطلاق المهام وتأجيل وقت تنفيذها

نقل العمليات الثقيلة إلى الخلفية عبر كلاسات المهام Jobs وطوابير الانتظار Queues وتشغيل العامل queue:work ومعالجة المهام الفاشلة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لدفع مهمة إلى طابور الانتظار من داخل المتحكم، استدع الدالة الثابتة ProcessPodcast::dispatch مع تمرير معاملات الباني المطلوبة. يمكنك ربط دالة onQueue لتوجيه المهام العاجلة إلى طابور ذي أولوية، أو دالة delay لتأجيل وقت التنفيذ لفترة زمنية محددة.

  • دالة الإطلاق الثابتة (Static Dispatch Helper): استدع ProcessPodcast::dispatch في أي مكان بالتطبيق لإدراج المهمة في الطابور.
  • تأجيل التنفيذ (Delayed Execution): اربط دالة delay مع وقت مستقبلي لكي لا يسحب العامل المهمة إلا بعد انقضاء المهلة.
  • تخصيص أسماء الطوابير (Dedicated Queue Names): اربط دالة onQueue لفصل مهام الوسائط الثقيلة عن طابور رسائل البريد السريعة.
PHP
use App\Jobs\ProcessPodcast;

ProcessPodcast::dispatch($podcast)
    ->onQueue('processing')
    ->delay(now()->addMinutes(5));