بناء مهام خلفية موثوقة في Laravel

نقل العمل الثقيل إلى Queue يحسن الاستجابة، لكن الاعتمادية تحتاج إلى Idempotency ومحاولات محسوبة ومراقبة وتشغيل صحيح للـ Workers.

عُمَر العلوي مقال

تسمح الطوابير بتنفيذ إرسال البريد والمعالجة الثقيلة والتكاملات خارج طلب المستخدم، فتقل مدة الاستجابة ويمكن توسيع العمال بصورة مستقلة. لكن نقل الكود إلى Job لا يجعله موثوقًا تلقائيًا.

صمّم المهمة بحيث تكون إعادة تنفيذها آمنة، وحدد عدد المحاولات والتأخير والمهلة وفق طبيعة الفشل. استخدم Middleware للتقييد أو منع التداخل، وJob Uniqueness عندما تريد منع إدراج نسخ متطابقة. استخدم Chaining للخطوات التي تعتمد على ترتيب، وBatching للأعمال المستقلة التي تحتاج إلى متابعة جماعية.

راقب طول الطوابير وفشل المهام وعمر أقدم مهمة، وأعد تشغيل العمال بطريقة منضبطة بعد النشر. لا تعتمد داخل المهمة على Session أو حالة طلب زائلة، ومرر معرّفات يمكن تحميلها من مصدر موثوق. وفي الاختبارات، تحقق من إرسال المهمة ومعالجة حالاتها المهمة دون تشغيل الخدمات الخارجية الحقيقية.

شاركني رأيك

يسعدني مشاركة وجهة نظرك من خلال ترك تعليق في المقالة الأصلية في مواقع التواصل

مقالات مرتبطة

تطوير Backend وقواعد البيانات ·

اجعل Excel جزءًا من سير العمل داخل النظام

دعم الاستيراد والتصدير ليس كافيًا دائمًا؛ بعض المستخدمين يحتاجون إلى التعامل مع الجداول والمعادلات دون مغادرة النظام.

قراءة المقال

تطوير Backend وقواعد البيانات ·

ترحيل MySQL كبير دون إيقاف الخدمة

نسخة Hot Backup مع Replication قد تكون أنسب من mysqldump عندما تكون قاعدة الإنتاج كبيرة وتستمر فيها الكتابة أثناء الترحيل.

قراءة المقال