موعد تشغيل مهمة cron القادمة
أداة تحسب من تعبير cron التواريخ والأوقات الدقيقة للمرات القادمة التي ستعمل فيها المهمة المجدوَلة، بدل الاكتفاء بوصف عام لنمط التكرار. تُدخل التعبير ومنطقتك الزمنية فتحصل على قائمة بالمواعيد القادمة فورًا.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
الفرق بين فهم النمط ومعرفة الموعد الدقيق
معرفة أن مهمة تعمل كل يوم اثنين لا تكفي وحدها لتخطيط عمل يعتمد على نتيجتها؛ تحتاج أحيانًا معرفة التاريخ الدقيق للمرة القادمة والتي بعدها. تحسب الأداة هذه التواريخ الفعلية من تعبير cron مباشرة، فتحصل على قائمة مواعيد ملموسة بدل وصف عام لنمط التكرار فقط.
مراعاة المنطقة الزمنية عند الحساب
يحدَّد تعبير cron عادة بمنطقة زمنية خادم معينة، قد تختلف عن منطقتك الزمنية المحلية؛ تجاهل هذا الفرق يقود لانتظار مهمة في وقت خاطئ بساعات. تتيح الأداة اختيار منطقة زمنية للعرض، فتُظهر المواعيد القادمة بتوقيتك المحلي مباشرة بدل توقيت الخادم فقط.
التخطيط لعملية تعتمد على نتيجة مهمة مجدوَلة
حين تحتاج جدولة عملية تدوية تعتمد على انتهاء مهمة نسخ احتياطي مثلًا، تفيد معرفة الموعد الدقيق للتشغيل القادم في ضبط توقيت العملية التالية بهامش أمان مناسب بدل تخمين تقريبي قد يتسبب في تعارض بين المهمتين.
مراقبة عدة جداول عبر الـAPI
لنظام مراقبة يتابع صحة عشرات المهام المجدوَلة، يتيح الـAPI حساب الموعد القادم لكل تعبير برمجيًا بسعر $0.002 لكل طلب، فيقارن النظام الموعد المتوقع بالتنفيذ الفعلي وينبّه فورًا إذا تأخرت مهمة عن جدولها المعتاد.
حالات الاستخدام
ضبط توقيت عملية تعتمد على مهمة سابقة
يضبط مطور في مؤسسة النخيل للمقاولات عملية تقرير يومي تعتمد على انتهاء مهمة نسخ احتياطي مجدوَلة، ويحسب موعدها القادم الدقيق لترتيب هامش زمني كافٍ بينهما.
مراقبة تأخر مهمة مجدوَلة
يبني فريق تقني في شركة الخليج الرقمية نظام تنبيه يقارن موعد التشغيل المتوقع لمهمة حرجة بموعد تنفيذها الفعلي، ويستخدم الـAPI لحساب الموعد المتوقع القادم لكل مهمة.
التخطيط لصيانة نظام حول جدولة موجودة
يخطط خالد العتيبي لصيانة خادم ويريد تفادي توقيت عمل مهام مجدوَلة حساسة، فيحسب المواعيد القادمة لكل تعبير cron في النظام قبل تحديد نافذة الصيانة.
الأسئلة الشائعة
كم عدد المواعيد القادمة التي تعرضها الأداة؟
قائمة بعدة مواعيد قادمة متتالية، تكفي عادة لفهم نمط التنفيذ الفعلي واتخاذ قرار تخطيط بناءً عليه.
هل تراعي الأداة توقيتي الصيفي والشتوي؟
نعم، عند اختيار منطقة زمنية تطبّق التوقيت الصيفي، تُحسَب المواعيد القادمة مع مراعاة هذا التغيّر تلقائيًا.
ما الفرق بين هذه الأداة وأداة شرح تعبير cron؟
تلك تصف نمط التكرار بجملة عامة، بينما هذه تحسب تواريخ وأوقات فعلية للمرات القادمة تحديدًا.
كم تكلفة الحساب الآلي عبر الـAPI؟
$0.002 لكل طلب؛ الحساب اليدوي لتعبير واحد أو أكثر من المتصفح يبقى مجانيًا بلا حدّ.
هل تُحفَظ التعبيرات التي أدخلها؟
لا، من المتصفح تجري المعالجة محليًا، وعبر الـAPI يُعالَج الطلب ويُعاد فورًا دون تخزين.
هل تعمل الأداة من الجوال؟
نعم، صفحة ويب عادية تعمل من متصفح الجوال بنفس الطريقة على الحاسوب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/cron-next \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/cron-next", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cron-next",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cron-next", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cron-next", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"items": [
"valor-1",
"valor-2"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cron_next",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |