مولد تعبيرات كرون ومحاسبة التوقيت التالي — اتقن كرون دون الحاجة للتخمين

نُشرت في

تُسبب تعبيرات كرون صعوبة حتى للمطورين المُتمرسين. مولد تعبيرات كرون المرئي ومحاسبة التوقيت التالي يُزيل التخمين — اصنع تعبيرات دون تذكر ترتيب الحقول، ثم تحقق من أنها تُنفَّذ بالوقت المطلوب.

مُولد تعبيرات كرون ومحاسبة الوقت التالي – إتقان تعبيرات كرون دون التخمين 1
إعلان · حذف؟

تُستخدم نمط كرون كواحد من الأمور التي يبحث عنها المطورون كل مرة. ليس لأنها صعبة — بل لأن التنسيق الخمسي يُظهر تباينًا كافياً ليعمل على تقويض الوضوح. هل يكون الحقل للساعة قبل أو بعد الدقيقة؟ هل يعني كل 5 دقائق أم بدء من الدقيقة 5؟ */5 هل يعني كل 5 دقائق أم بدء من الدقيقة 5؟

يحتوي العلامة "تعبير كرون" على منصة ستاك أوفرور على أكثر من 14000 سؤال. هذا قبل أن نأخذ في الاعتبار التباينات بين المنصات التي تزيد من الارتباك: يستخدم كرون لينكس خمسة حقول، ويستخدم كرون كيوتيرس خمسة حقول بمعاني مختلفة قليلاً، ويضيف كرون من منصة أواز حقل سادس، ويضع مُخططات كوارت حقل الثواني في البداية.

تُستخدم أداةان لتقليل الضوضاء: مُولد تعبير كرون يُنشئ التعبيرات من مدخلات قابلة للقراءة بسهولة، وأداة حساب وقت التنفيذ التالية تُظهر لك بالضبط متى سيُنفذ مهامك — دون الحاجة إلى تخمين.

مُراجعة نمط كرون

يُقرأ التنسيق الخمسي القياسي من اليسار إلى اليمين: الدقيقة، الساعات، يوم الشهر، الشهر، يوم الأسبوع.

* * * * *
│ │ │ │ └── Day of week (0–7, where 0 and 7 = Sunday)
│ │ │ └──── Month (1–12)
│ │ └────── Day of month (1–31)
│ └──────── Hour (0–23)
└────────── Minute (0–59)

أمثلة شائعة:

  • 0 2 * * * — كل يوم في الساعة 2 صباحًا
  • 0 9 * * 1 — كل يوم الاثنين في الساعة 9 صباحًا
  • */15 * * * * لا قيمة محددة (متوفر فقط في Quartz/AWS)
  • 0 0 1 * * — في منتصف الليل في أول يوم من كل شهر

بسيط من منظور منفصل. في الممارسة، يزداد الارتباك: هل هو لـ يوم الأسبوع الاثنين أم الأحد؟ هل يدعم هذا النظام القيم المُحددة؟ وهنا تُظهر الأداة فائدتها الحقيقية. 1 هل هو لـ يوم الأسبوع الاثنين أم الأحد؟ هل يدعم هذا النظام القيم المُحددة؟ وهنا تُظهر الأداة فائدتها الحقيقية.

أداة 1: مُولد تعبير كرون

ال مولد التعبير كرون يُحوّل التعبير المجرد إلى واجهة بسيطة للنقر. قم بتعيين القيم لكل مكون — الدقيقة، الساعات، اليوم، الشهر، يوم الأسبوع — وستُنتج الأداة التعبير. لا حاجة لحفظ ترتيب الحقول، ولا حاجة لتخمين الرموز الخاصة.

مراجعات عملية:

نسخة يومية للقاعدة البيانات في الساعة 2 صباحًا

أدخل الدقيقة إلى 0، الساعات إلى 2، اترك يوم الشهر، الشهر، ويوم الأسبوع كـ *. الناتج: 0 2 * * *. يُنفذ بالضبط في الساعة 02:00 كل يوم.

تقرير أسبوعي كل يوم الاثنين في الساعة 9 صباحًا

أدخل الدقيقة إلى 0، الساعات إلى 9، إلى يوم الشهر *، إلى الشهر *، إلى يوم الأسبوع 1 (الإثنين). الناتج: 0 9 * * 1.

حيث تبرز الأداة حقًا في القيم المُحددة والranges — */5 (كل 5 دقائق)، 1-5 (من الاثنين إلى الجمعة)، 0,12 (في منتصف الليل والظهر). هذه المجموعات هي المواقف التي تصبح فيها التعبيرات المجردة عبئًا ذهنيًا، ويُصبح البناء البصري واضحًا قبل أن تصل إلى البيئة الإنتاجية.

أداة 2: مُحسب وقت التنفيذ التالي

التأكد من صحة التعبير هو الخطوة الأولى. التأكد من أنه يُنفذ عند التوقع هو الخطوة الثانية — وغالبًا ما يُفوت.

ال لتأكيد أن التسليم يحدث كما تفترض. يأخذ أي تعبير كرون ويعرض 10 وقت تنفيذ مُخطط له، مُحسب من الوقت الحالي. أدخل تعبيرك، واحصل على الناتج فورًا.

استخدام عملي: كتبت 0 9 * * 1-5 وأعتقد أن هذا يُنفذ من الاثنين إلى الجمعة في الساعة 9 صباحًا. أدخله في المُحسب، وستظهر الأوقات التالية فورًا — مما يجعل من السهل التأكد من أنك أدخلت النطاق الصحيح. إذا كتبت خطأ 0 9 * * 0-5 (من الأحد إلى الجمعة بدلًا من ذلك)، فإن الناتج يظهر تفعيلًا في يوم الأحد، وتم اكتشاف الخطأ قبل التثبيت.

هذا أسرع من تثبيت المهمة، الانتظار، وفحص السجلات — خاصةً للمهام المُجدولة مرة في الأسبوع أو مرة في الشهر، حيث قد يُبقى خطأ في التعبير غير مُكتشف لأسابيع.

الاختلافات بين المنصات: لينكس، كيوتيرس، أكشنز جيت هاب، وأواز

هنا تصبح الأمور مُعقدة حقًا. يمكن أن يعني نفس التعبير أشياء مختلفة — أو أن يكون غير صالح — حسب المُخطط الذي يُستخدم.

كرون لينكس (5 حقول)

الأساس. خمسة حقول: minute hour day month weekday. مُهيأ من خلال crontab -e. لا يدعم الثواني. يوم الأسبوع: 0 و 7 يعني كلاهما يوم الأحد.

كرون كيوتيرس (5 حقول)

يستخدم كيوتيرس نفس التنسيق الخمسي لحقل schedule: الذي يُعادل كرون لينكس. تعمل القيم المُحددة والranges بنفس الطريقة. لا يضيف حقل الثواني على الرغم من ما قد تسمعه. لا أواز إيفينتبريد / كلاود واتش أينتس (6 حقول)

يستخدم إيفينتبريد تنسيق 6 حقول:

. الحقل السنوي مطلوب ولا يمكن تجاهله. يستخدم minute hour day month weekday yearعندما لا ينطبق الحقل — يجب استخدام ? بدلاً من * لأي من يوم الشهر أو يوم الأسبوع، لأن تحديد كلاهما يُسبب التناقض. ? أكشنز جيت هاب (5 حقول، فقط في الوقت العالمي)

تقبل أكشنز جيت هاب التعبير الخمسي القياسي في الحقل

التشغيل. جميع الأوقات بالوقت العالمي. يكون الحد الأدنى لفترة التسجيل 5 دقائق، وقد يُنفذ المهام لاحقًا أثناء أوقات التحميل العالي على بنية أكشنز جيت هاب. schedule: مُخططات كوارت / مُخططات سبرينغ (6-7 حقول)

المُخططات المبنية على بيئة جافا مثل كوارت وسبرينغ تضيف حقلًا في البداية:

. هذا يعني أن الثواني يُنفذ كل 5 ثوانٍ — وليس كل 5 دقائق. من السهل التحدي إذا كنت تنتقل بين كرون لينكس وكرون جافا. second minute hour day month weekday [year]أمثلة شائعة لنمط كرون 0/5 * * * * ? عندما يُنفذ

:00، :15، :30، :45 كل ساعة

الاستخدامالتعبيرفي منتصف الليل كل يوم
كل 15 دقيقة*/15 * * * *كل يوم، 00:00
نسخة يومية في الساعة 2 صباحًا0 0 * * *كل يوم، 02:00
في أيام الأسبوع في الساعة 9 صباحًا0 2 * * *من الاثنين إلى الجمعة، 09:00
تنظيف أسبوعي في منتصف الليل يوم الأحد0 9 * * 1-5أيام الأحد، 00:00
في أول يوم من الشهر في الظهر0 0 * * 0أول يوم من كل شهر، 12:00
في بداية كل ساعة0 12 1 * *مُكرر يوميًا
كل ساعة0 * * * *في 08:00 و 20:00 كل يوم
مُولد تعبير كرون ومحاسب وقت التنفيذ التالي — إتقان كرون بدون التخمين 20 8,20 * * *مُولد تعبير كرون ومحاسب وقت التنفيذ التالي — إتقان كرون بدون التخمين 1
هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟