شرح صفوف ومحتوى الفقرة
بخلاف طلبات الويب التي تديرها خدمة PHP-FPM، يعمل الأمر php artisan queue:work كعملية خلفية مستمرة قد تتوقف عند انتهاء المهلة أو إعادة تشغيل الخادم. تتولى أداة Supervisor على خوادم Linux مراقبة عمال الطوابير على مدار الساعة وإعادة تشغيلهم تلقائياً فور توقفهم.
- مراقبة العمليات (Process Monitoring): اضبط الخيارين autorestart=true و numprocs=2 في ملف إعداد Supervisor لضمان استمرار عمل الطابور.
- تدوير الذاكرة الآمن (Graceful Worker Rotation): مرر الخيار --max-time=3600 لأمر queue:work لتجديد عملية العامل كل ساعة ومنع تسرب الذاكرة.
- جدولة المهام في Cron (Scheduler Cron Entry): أضف سطر تشغيل schedule:run كل دقيقة في جدول cron لتفعيل مجدول مهام Laravel.
PHP
# /etc/supervisor/conf.d/laravel-worker.conf
[program:laravel-worker]
command=php /var/www/app/artisan queue:work --tries=3
autostart=true
autorestart=true
numprocs=2