وداعًا لـ Cron Jobs المتناثرة: مُجدول المهام المركزي من Heartbeat

2025-08-01
وداعًا لـ Cron Jobs المتناثرة: مُجدول المهام المركزي من Heartbeat

كان Heartbeat يستخدم سابقًا العديد من Cron Jobs لإدارة المهام المجدولة، مما أدى إلى ارتفاع تكاليف الصيانة والأخطاء المتكررة. تصف هذه المقالة كيف قاموا ببناء مُجدول مهام مركزي قائم على قاعدة بيانات، باستخدام جدول قاعدة بيانات واحد `ScheduledTasks` ووظيفة Cron واحدة لإدارة جميع المهام المجدولة. من خلال الاستفادة من AWS SQS للمعالجة غير المتزامنة، يضمن النظام تنفيذ المهام الموثوق به، وآليات إعادة المحاولة، والمراقبة القوية. يعالج هذا النهج مشاكل مثل الفوضى في إدارة المهام، وصعوبة التعامل مع الأخطاء، ويبسط إضافة مهام جديدة مجدولة.

اقرأ المزيد
التطوير

التطوير المُدار بالأنواع: كيف تُبسط الأنواع مشاكل البرمجة المعقدة

2024-12-19
التطوير المُدار بالأنواع: كيف تُبسط الأنواع مشاكل البرمجة المعقدة

تتناول هذه المقالة مفهوم "التطوير المُدار بالأنواع"، حيث يستعرض الكاتب، مستندًا إلى خبرته في مشروع Heartbeat الضخم بلغة Typescript (أكثر من 300 ألف سطر)، كيف يُبسط نظام أنواع Typescript مشاكل البرمجة المعقدة. الفكرة الأساسية هي أنه من خلال الاستفادة من نظام الأنواع بكفاءة، والسماح للأنواع بالتدفق بحرية عبر جميع طبقات التطبيق، والبدء في إنشاء الميزات الجديدة من خلال تعريفات الأنواع، وجعل الحالات غير القانونية غير قابلة للتمثيل، والتحليل بدلاً من التحقق من صحة البيانات، والحفاظ على نزاهة ودقة الكود، يمكن تقليل الأخطاء بشكل كبير وتحسين كفاءة التطوير. كما يشارك الكاتب تقنيات لاستخدام الدوال النقية كجسور لأنواع البيانات، ونظام الأنواع كأداة للفحص الذاتي، مع الاعتراف بالحاجة أحيانًا إلى تجاوز قيود نظام الأنواع.

اقرأ المزيد