ما مدى موثوقية جدولة مهام Windows للحصول على رمز الجدولة للتشغيل بشكل متكرر؟

StackOverflow https://stackoverflow.com/questions/722678

سؤال

لدي القليل من التعليمات البرمجية التي تحتاج إلى الجلوس على جهاز Windows Server 2003 وتشغيل كل دقيقة.

ما هي الطريقة الموصى بها في التعامل مع هذا؟ هل من الجيد تصميمه كخدمة وحدة التحكم، ولديها مجرد جدولة المهام التي ضربتها دقيقة؟ (هل هذا ممكن؟) يجب أن تمتص الأمر واكتبه كخدمة Windows؟

هل كانت مفيدة؟

المحلول

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

إن استدعاء المهمة المجدولة كل دقيقة ليست شيئا أوصي به.

نصائح أخرى

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

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

Init();
Run();
CleanUp();

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

إذا كنت بحاجة إلى تشغيلها كل دقيقة، فسأبنيها كخدمة Windows. لن أستخدم المجدول لأي شيء أقل من مهمة يومية.

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

إذا كتبت ذلك كخدمة Windows، فلديك أماكن واحدة فقط للتحقق في حالة حدوث خطأ ما.

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

هناك العديد من DIADVANTAGE إذا تم استخدام خدمة Windows للمهمة المجدولة. وافقت معها. أود أن أقترح استخدام المهام المجدولة، بسيطة في التنفيذ. يرجى الرجوع إلى معلومات مفصلة عن تنفيذ جدولة المهام. وبعد نأمل أن تساعد هذه المعلومات في وضع اللمسات الأخيرة على نهج التنفيذ.

النقطة الأخرى الوحيدة التي يجب مراعاتها، هي أنه إذا كنت تنطوي وظيفة على نوع من تفاعل قاعدة البيانات، ففكر في النظر في خدمات التكامل / الجدولة المقدمة من قاعدة البيانات الخاصة بك.

على سبيل المثال، قد يبدو إنشاء حزمة SSIS لخدمة SQL Server ذات الصلة، مثل Overkill، ولكن يمكن دمجها بشكل جيد مع البيئة وستحصل على آليات فحص التسجيل / الأخطاء الخاصة به بالفعل.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top