احسب مواعيد التشغيل القادمة لتعبير cron
حوّل تعبير Unix cron المكوّن من خمسة حقول إلى قائمة محددة ومرتبة بمواعيد التشغيل المستقبلية.
شغّل الأداة مجانًا
أدخل الجدول وطابعًا زمنيًا ابتدائيًا بصيغة ISO 8601 وعدد المواعيد المطلوب. ترفض الحاسبة التعبيرات غير السليمة بدل تخمينها، وتطبق قواعد القوائم والنطاقات والخطوات المألوفة، ثم تعيد طوابع زمنية موحدة بتوقيت UTC لتتمكن من مراجعتها واختبارها وحفظها أو مقارنتها قبل نشر مهمة مجدولة. وتكون العملية الحسابية حتمية بالكامل.
عاين جدول cron انطلاقًا من وقت ثابت
يتميز تعبير cron بالاختصار، لكن هذا الاختصار نفسه يسهل إساءة قراءته عند مراجعة عملية النشر. تستبدل هذه الحاسبة التفسير البصري بسلسلة دقيقة من الطوابع الزمنية. أدخل الحقول الخمسة بالترتيب التقليدي: الدقيقة، والساعة، ويوم الشهر، والشهر، ويوم الأسبوع. ثم أدخل طابعًا زمنيًا ابتدائيًا بصيغة ISO 8601 ينتهي بحرف Z أو يتضمن إزاحة رقمية صريحة عن UTC. يأتي كل موعد في النتيجة بعد تلك اللحظة حصرًا ويُوحّد بتوقيت UTC، ولذلك ينتج الطلب نفسه نتيجة مطابقة في المتصفح أو الاختبار أو الخادم. تكتسب نقطة البداية الصريحة أهمية خاصة عند فحص الجداول قرب منتصف الليل أو حدود الأشهر أو السنوات الكبيسة أو تغير الإزاحة. يمكنك طلب عدد يتراوح من موعد واحد إلى خمسين موعدًا. لا تتضمن الإجابة سوى المواعيد المرتبة، لذا تصلح للمعاينة أو fixture أو المقارنة المباشرة ضمن بوابة إصدار آلية. لا تستعين الحاسبة بالساعة الحالية، وبذلك تظل عمليات التحقق القديمة قابلة لإعادة الإنتاج.
تعرّف إلى قواعد cron المدعومة ذات الحقول الخمسة
يقبل كل حقل علامة النجمة أو رقمًا منفردًا أو قائمة مفصولة بفواصل أو نطاقًا شاملًا لطرفيه أو خطوة. لذلك تعمل تعبيرات مثل */15 و1-5 و0,30 و2-10/2 من دون خيارات إضافية. تمتد الدقائق من 0 إلى 59، والساعات من 0 إلى 23، وأيام الشهر من 1 إلى 31، والأشهر من 1 إلى 12، وأيام الأسبوع من 0 إلى 7، حيث يدل كل من 0 و7 على يوم الأحد. تستخدم هذه الإمكانية علاقة Unix الشائعة بين حقلي اليوم: إذا كان كلاهما مقيدًا، يطابق التاريخ الجدول عند تحقق أي منهما. وإذا كان أحدهما علامة نجمة، تحكم الحقل الآخر في التاريخ. تستبعد الصياغة عمدًا الثواني وحقول السنة والأسماء مثل MON وامتدادات المورّدين مثل L وW و? و#. ويعد رفض الصيغ غير المدعومة أكثر أمانًا من إسناد معنى ضمني إليها قد يختلف عن معنى المجدول الذي سيشغّل التعبير لاحقًا.
استخدم النتائج في المراجعات والاختبارات والتشغيل
تفيد معاينة الجدول كلما انتقل نص cron بين شخص ونظام. يمكنك في واجهة الإعداد عرض عدة مواعيد قادمة بتوقيت UTC قبل أن يحفظ المستخدم المهمة. وفي التكامل المستمر، قارن السلسلة الناتجة بملف fixture معتمد حتى لا يختبئ تغيير التواتر داخل تعديل نصي صغير. وعند تحليل حادثة، ابدأ قبل الفترة المعنية مباشرة لتحدد ما إذا كان التعبير المضبوط قادرًا على إنتاج عمليات التشغيل المرصودة. تتم العملية محليًا وبصورة حتمية، فلا تستخدم خدمة شبكية أو حالة محفوظة أو قيمة عشوائية أو منطقة الجهاز الزمنية. وينتج عن عدد الحقول الخاطئ أو الأرقام الخارجة عن النطاق أو النطاقات التنازلية أو الخطوة الصفرية أو التواريخ المستحيلة أو الرموز غير المدعومة خطأ إدخال واضح. تبلغ تكلفة طلب API الواحد $0.002، بينما تنفذ أداة المتصفح الحساب نفسه محليًا. وبفضل إعادة الطوابع بصيغة UTC معيارية، يمكن للبرامج مقارنتها مباشرة من دون معالجة تنسيقات العرض المحلية.
حالات الاستخدام
تحقق من جدول النشر
اعرض مواعيد التشغيل القادمة أثناء المراجعة واكتشف خطأ الحقل أو النطاق أو التواتر قبل تفعيل المهمة المجدولة.
أنشئ معاينة للجدول
اعرض مواعيد UTC محددة بجانب محرر cron حتى يتمكن المستخدم من تأكيد سلوك الإعداد قبل حفظه.
أنشئ ملفات اختبار حتمية
ولّد المواعيد المتوقعة من وقت ابتدائي ثابت وقارنها في الاختبارات الآلية من دون الرجوع إلى الساعة الحالية.
الأسئلة الشائعة
ما صيغة cron المدعومة؟
تقبل الحاسبة تعبيرات Unix cron التقليدية ذات الحقول الخمسة بالترتيب التالي: الدقيقة والساعة ويوم الشهر والشهر ويوم الأسبوع.
هل تتضمن النتائج الطابع الزمني الابتدائي؟
لا. يأتي كل موعد في النتيجة بعد اللحظة المحددة حصرًا، حتى إذا وافقت تلك اللحظة دقيقة تشغيل مجدولة تمامًا.
ما المنطقة الزمنية المستخدمة؟
تُراعى الإزاحة الرقمية في الطابع الابتدائي، وتُعاد جميع مواعيد التشغيل المحسوبة بتوقيت UTC مع اللاحقة Z. كما تُقيّم حقول cron بتوقيت UTC.
ماذا يحدث إذا كان تعبير cron غير سليم؟
يفشل الطلب بخطأ إدخال يصف الحقل أو القيمة غير الصحيحة. لا تصحح الحاسبة التعبير ولا تخمّن معناه مطلقًا.
كم تبلغ تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن أيضًا تنفيذ الحساب نفسه محليًا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/cron-next-runs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/web/cron-next-runs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/cron-next-runs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/cron-next-runs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/cron-next-runs", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.cron_next_runs",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_items | 50 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |