شرح cron job في Node.js بطريقة بسيطة

x32x01
  • بواسطة x32x01 ||
  • #1
عمرك فكرت إزاي بتوصلك إيميلات في نص الليل، أو رسائل تذكير بمواعيد دفع الفواتير، أو حتى النسخ الاحتياطي التلقائي للبيانات بيتعمل إزاي؟ 😴
كل ده بيتم من خلال حاجة اسمها cron jobs
a03.webp

يعني إيه cron job؟​

الـ cron job ببساطة هي مهمة (Job) بيتم تنفيذها بشكل تلقائي في أوقات محددة، زي إنك تشغل سكريبت معين كل يوم الساعة 12، أو كل أسبوع، أو حتى كل دقيقة!

إزاي نستخدم cron job في Node.js؟​

علشان تحقق ده في Node.js، عندنا باكيدج قوية جدًا اسمها node-schedule
الـpackage دي بتخليك تقدر تعمل جدول لمهام معينة (زي الـcron jobs) بشكل مباشر جوه تطبيقات Node.js بكل سهولة.
تقدر تحدد مهام تشتغل في أوقات معينة أو بفواصل زمنية باستخدام JavaScript، وده بيسهلك التعامل مع المهام المتكررة جدًا.

خلينا نتكلم عن node-schedule شوية 📦​

في البداية، المكتبة دي بتعتمد على حاجتين أساسيتين:
  1. الوقت اللي المهمة هتتنفذ فيه.
  2. الكود أو المهمة اللي هتتنفذ في الوقت ده.

الوقت ده بيتحدد باستخدام 6 نجوم (asterisks) زي كده: * * * * * *

كل نجمة ليها معنى، ودي الترتيبة الصحيحة:
  1. الأولى (second): الثانية اللي هتتنفذ فيها المهمة (0-59 ثانية).
  2. التانية (minute): الدقيقة (0-59 دقيقة).
  3. التالتة (hour): الساعة (0-23 ساعة).
  4. الرابعة (day of month): اليوم في الشهر (1-31).
  5. الخامسة (month): الشهر (1-12).
  6. السادسة (day of week): يوم الأسبوع (0-7).

مثال عملي على node-schedule 👇​

كود:
const schedule = require('node-schedule');

// تنفيذ مهمة كل دقيقة
const job = schedule.scheduleJob('* * * * *', () => {
console.log('Job executed every minute!');
});
الكود ده بيخلي السيرفر يشغل الرسالة دي في الكونسول كل دقيقة بشكل تلقائي 🚀

الخلاصة 🧠​

باستخدام node-schedule تقدر تدير وتنظم المهام التلقائية في تطبيقك بسهولة،
سواء كانت إرسال إيميلات، نسخ احتياطي للبيانات، أو أي مهام بتتكرر بانتظام.
ودلوقتي بقيت فاهم إزاي المهام دي بتشتغل في الكواليس 😉
a01.webp

a02.webp
 
إحصائيات المنتدى
المواضيع
961
المشاركات
996
الأعضاء
13
آخر عضو مسجل
Mostafa
عودة
أعلى