0Pricing
PHP Academy · درس

مراقبة قوائم الانتظار باستخدام Laravel Horizon

ثبّتوا Horizon وراقبوا معدل معالجة قائمة الانتظار والمهام الفاشلة

مراقبة قوائم الانتظار باستخدام Laravel Horizon درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

ما هو Horizon؟

يوفّر Laravel Horizon لوحة جميلة ونظام تهيئة لـ Queues المدعومة من Redis، مع مقاييس فورية، وتتبع معدل المعالجة، ومراقبة Jobs.

تثبيت Horizon

ثبّته باستخدام Composer وانشر الأصول.

$ composer require laravel/horizon
$ php artisan horizon:install
$ php artisan migrate

بدء Horizon

ابدأ Horizon كعملية واحدة طويلة التشغيل (ليحل محل queue:work).

$ php artisan horizon

الوصول إلى لوحة المعلومات

تتوفر لوحة Horizon افتراضيًا على المسار /horizon. قيّد الوصول إليها في بيئة الإنتاج على المستخدمين المخوّلين فقط.

<?php
// In HorizonServiceProvider:
Horizon::auth(function ($request) {
    return $request->user()?->isAdmin() ?? false;
});

تهيئة horizon.php

هيّئ العمال (البيئات، والمشرفين، وأولويات Queue، وعدد العمال) في config/horizon.php.

// config/horizon.php
"environments" => [
    "production" => [
        "supervisor-1" => [
            "connection" => "redis",
            "queue"      => ["emails", "default"],
            "processes"  => 10,
            "balance"    => "auto",
        ]
    ]
]

المشرفون والموازنة

يدير مشرفو Horizon مجموعات العمال. عند استخدام "balance" => "auto"، يوسّع Horizon عدد العمال تلقائيًا استنادًا إلى عمق Queue.

لوحة المقاييس

تعرض لوحة Horizon: عدد Jobs في الدقيقة، وJobs الفاشلة، وأوقات الانتظار، وJobs الحديثة، وإحصاءات كل Queue.

وسم Jobs

أضف وسومًا إلى Jobs لتسهيل مراقبتها وتصفيتها في لوحة المعلومات.

<?php
public function tags(): array
{
    return ["user:".$this->user->id, "email"];
}
// Then filter by tag in the Horizon dashboard

Jobs الفاشلة في Horizon

اعرض المهام الفاشلة مع استثناءاتها وتتبع مكدس الاستدعاءات. أعد محاولة تشغيل المهام الفاشلة الفردية مباشرةً من لوحة المعلومات أو عبر Artisan.

$ php artisan horizon:forget <uuid>
$ php artisan horizon:retry-failed

التشغيل في بيئة الإنتاج باستخدام Supervisor

استخدم Linux Supervisor للحفاظ على تشغيل عملية Horizon وإعادة تشغيلها إذا تعطّلت.

[program:horizon]
command=php /srv/app/artisan horizon
autorestart=true
stdout_logfile=/var/log/horizon.log

الإيقاف المؤقت والمتابعة

أوقف Horizon مؤقتًا أثناء عمليات النشر لتفريغ قائمة الانتظار بسلاسة، ثم استأنف تشغيله.

$ php artisan horizon:pause
$ php artisan horizon:continue
$ php artisan horizon:terminate

الملخص

يستبدل Horizon عمّال قوائم الانتظار بعملية واحدة ولوحة معلومات مميزة. اضبط أعداد العمّال في config/horizon.php. استخدم Supervisor في بيئة الإنتاج للحفاظ على تشغيل Horizon.

تحقق سريع

ما الأمر الذي يبدأ تشغيل Laravel Horizon؟

الأسئلة الشائعة

هل درس «مراقبة قوائم الانتظار باستخدام Laravel Horizon» مجاني؟

نعم — نص درس «مراقبة قوائم الانتظار باستخدام Laravel Horizon» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «مراقبة قوائم الانتظار باستخدام Laravel Horizon»؟

ثبّتوا Horizon وراقبوا معدل معالجة قائمة الانتظار والمهام الفاشلة تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «مراقبة قوائم الانتظار باستخدام Laravel Horizon»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مفاهيم قوائم الانتظار وبرامج التشغيل
  2. إنشاء المهام وإرسالها
  3. إعادة محاولة المهام وتأخيرها وتسلسلها
  4. مراقبة قوائم الانتظار باستخدام Laravel Horizon
← العودة إلى PHP Academy