العربية

أدوات المطورين · مولد Crontab

لماذا لا يحتوي cron على حقل ثواني، ومن أين تأتي تعبيرات الحقول الستة

· خلفية

كرون اللهجات تصديق

خمسة حقول كرون مقبولة بجانب حقل الثواني السادسة المرفوضة
الرسم التوضيحي المتجه الأصلي ToolAcre

التعبير المكون من ستة حقول ليس تعبير cron، على الرغم من أنه يبدو كذلك. يشرح هذا المنشور سبب توقف Unix cron عند الدقائق، وكيف قامت برامج جدولة Quartz وSpring وCloud بتوسيع القواعد النحوية.

ينتمي التعبير المكون من ستة حقول إلى نمط جدولة آخر، وليس إلى هذا المحلل اللغوي

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

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

يثبت المستودع القواعد النحوية في الدقيقة الأولى، وليس السبب التاريخي لاستخدام cron للدقائق

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

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

لم يتم هنا تنفيذ تفاصيل الكوارتز التي تتجاوز نمط الثواني الرائدة

تسمي رسالة الخطأ المصدر Quartz كمثال لنمط الثواني الأولى، لكن المحلل اللغوي لا يطبق عوامل تشغيل Quartz أو المواضع الاختيارية. أحرف مثل `?`، `L`، `W` و `#` تفشل في قارئ القيمة العادية. ولا تتم ترجمتها أو شرحها على أنها بناء جملة مدعوم.

تجنب استخدام ToolAcre كمدقق كوارتز. قد يقوم تعبير مصدر صالح بتشفير العلاقات التي لا يمكن أن يمثلها cron ذو الخمسة حقول. اقرأ الوثائق المصدرية، وحدد المتطلبات بالكلمات وأعد بناء الجزء المدعوم بالقواعد النحوية المستهدفة فقط.

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

تتطلب أسماء إطار العمل وجدولة السحابة في المصنف الوثائق الحالية الخاصة بها. لا يحتوي المستودع على مخطط جدول Spring أو EventBridge أو Kubernetes أو GitHub Actions. لا ينبغي تلخيص أعداد الحقول والأسماء المستعارة وسياسات المنطقة الزمنية من الذاكرة هنا.

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

مثال عملي: إعادة بناء جدول زمني يمكن تمثيله خلال أيام الأسبوع مدته ربع ساعة

لنفترض أن متطلبات المصدر تكون كل خمسة عشر دقيقة خلال الساعات من 9 إلى 17 في أيام الأسبوع، ولا يحمل أي مشغل أجنبي معنى إضافيًا. في ToolAcre، يكون النموذج القابل للتمثيل هو `*/15 9-17 * * MON-FRI`. يقوم المحلل بتوسيع ربع الساعات والساعات الشاملة وأيام الأسبوع المسماة.

يقوم الوصف والمعاينة بعد ذلك بكشف التفسير المستهدف، بما في ذلك المرشح اليومي النهائي في 17:45. قارن ذلك بالسلوك الفعلي لمجدول المصدر قبل استدعاء معادل الترجمة. النموذج المكون من خمسة حقول صحيح فقط للمتطلبات اللفظية المحددة أثناء الترجمة.

لا يتم إنشاء حلقات أوامر دقيقة فرعية أو يوصى بها

لا يمكن التعبير عن عمل الدقيقة الفرعية لأن الدقيقة هي أصغر حقل. اقترح المصنف حلقة داخل أمر، ولكن ToolAcre لا يقوم بإنشاء حلقات أو تنفيذها أو الإشراف عليها. يقدم مثل هذا النمط مخاوف تتعلق بالتوقيت والتداخل والإيقاف خارج نموذج التقويم الخاص به.

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

تظل مشغلي نهاية الشهر الأجانب غير مترجمين

عوامل نهاية الشهر وأيام الأسبوع الترتيبية من القواعد النحوية الأخرى هي أيضًا خارج النطاق. يمكن أن تؤدي إزالتها إلى توسيع التواريخ أو تضييقها بشكل غير متوقع. ToolAcre يدعم القيم العادية والأسماء والنطاقات والقوائم والخطوات، بالإضافة إلى الأسماء المستعارة الموثقة؛ تحدد هذه المجموعة سقف الترجمة.

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

الوجبات الجاهزة: قم بإحصاء الحقول قبل اللصق - واستخدم المولد لإنشاء الإصدار المكون من خمسة حقول الذي يقبله crontab

قم بعد الحقول أولاً، وحدد لهجة المصدر ثانيًا، ثم قم بترجمة المتطلبات - وليس علامات الترقيم - ثالثًا. خطأ ToolAcre يجعل الخطوة الأولى أمرًا لا مفر منه ويوفر وصفها فحصًا من جانب الهدف بعد إعادة البناء.

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