وثائق

جداول زمنية

نفّذ المهام بشكل دوري وتابع ما أنتجته الجداول الزمنية.

يقوم الجدول الزمني بتنفيذ المهام بشكل دوري دون الحاجة إلى طلب من أحد. يمكنك العثور عليها في النظام ضمن قسم أتمتة، وإنشاؤها ضمن عمل جديد كأتمتة تُنفَّذ وفق جدول زمني: كل بضع ساعات، أو يوميًا، أو أسبوعيًا، أو شهريًا.

ما الفائدة من الجداول الزمنية؟

الصيانة الدورية التي يسهل الاتفاق عليها ويسهل نسيانها:

  • تحديثات التبعيات
  • مهام التنظيف التي تتراكم — الكود غير المستخدم، العلامات القديمة، الصادرات غير المستغلة
  • تقارير دورية
  • عمليات فحص دورية وفق معيار اعتمدته

الخاصية المشتركة بينها هي أن المهمة محددة بوضوح مسبقًا. لا يمكن للجدول الزمني أن يقرر ما هو جدير بالتنفيذ؛ فهو يعيد تنفيذ تعليمات كتبتها مسبقًا.

ما الذي لا تصلح له الجداول الزمنية؟

أي مهمة تتطلب تقديرًا للأولوية. الجدول الزمني الذي يفتح مهامًا كل يوم اثنين بغض النظر عما يحدث سيتنافس على نفس مساحات الوكلاء مع المهام التي خططت لها فعليًا.

المهام المجدولة تستهلك سعة حقيقية

هذا ما يجب أن تدركه قبل إنشاء عدة جداول زمنية.

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

سجل تشغيل المهام

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

إذا فتح الجدول الزمني اثنتي عشرة طلب سحب ولم تدمج أيًا منها، فالجدول الزمني خاطئ.

الجداول الزمنية وأتمتة الأحداث

طريقتان لبدء العمل دون تدخل بشري:

أتمتةيتم التشغيل بناءً على
جدول زمنيوقت
أتمتة الأحداثحدوث شيء ما، مثل فتح pull request أو فشل اختبار
  • جدولةوقت
  • أتمتة الأحداثعندما يحدث شيء ما

مهمة عادية

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

P2P3

طلب سحب من pull request

لا يمكنه دمج نفسه أو الالتزام بفرعك الأساسي.

أنت تقرّ

الأتمتة تختلف فقط في محفّزها؛ ما تفتحه هو مهمة عادية ضمن المسار المعتاد، لذا تستخدم سعة حقيقية وتنتهي بـ pull request تُقرّه أنت.

استخدم جدولًا زمنيًا عندما يكون المحفز هو الوقت فعليًا، أو عندما يكون ما تراقبه موجودًا في نظام لا يرسل أحداث Coroid، مثل Sentry أو Jira: حيث يطلب الجدول الزمني ذلك عبر خوادم MCP الخاصة بك. أما إذا كان المقصود هو «عند حدوث هذا» وكان Coroid أو GitHub يرسل ذلك الحدث، فاستخدم أتمتة الأحداث. فهي ستقلل من العمل غير الضروري.

كما يبدأ العمل من أنظمتك ووكلائك، ومن أتمتة الأحداث ونتائج الجودة. اطلع على طرق بدء العمل.