كيفية الاستعانة بمصادر خارجية لمهمة دورية (أي في "السحابة")؟

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

سؤال

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

ما هي التقنيات/الخدمات التي ستستخدمها لتحقيق ذلك بتكلفة زهيدة؟

الأشياء التي استكشفتها حتى الآن:

  • أمازون إي سي 2.تبدو فكرة جيدة، ولكن لا توجد طريقة واضحة لإيقاف المثيلات وإعادة تشغيلها وفقًا لجدول زمني.إن دفع ما يزيد عن 70 دولارًا شهريًا للاحتفاظ بمثيل يعمل بنظام cron ولكن عدم القيام بأي شيء مفيد يبدو مضيعة.
  • خذ القرار وادفع مقابل الخادم الافتراضي الخاص (VPS).مرة أخرى، على الرغم من ذلك، حتى دفع 20 دولارًا شهريًا (سلايس هوست, ، على سبيل المثال) يبدو الأمر مبالغًا فيه إذا كانت المهمة ستستمر لبضع ساعات فقط من كل شهر.
  • حساب استضافة مشترك و ويب كرون.يبدو الأمر وكأنه MacGyverish قليلاً وربما ينتهك شروط الخدمة للعديد من خدمات الاستضافة المشتركة، والتي لا تتعامل غالبًا مع المهام طويلة الأمد.

هل لديك خبرة في هذه الخيارات أو أي خيارات أخرى؟

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

المحلول

سأستخدم أمازون EC2.ما عليك سوى تشغيل مثيل، ونسخ البرنامج النصي إلى المثيل، وإضافته إلى روتين بدء التشغيل وإلحاق إيقاف التشغيل بنهاية البرنامج النصي.قم بتجميعها في صورتك الخاصة وأغلق المثيل.الآن يمكنك فقط إطلاق صورتك الخاصة شهريًا وسيتم تنفيذ البرنامج النصي وإيقاف التشغيل.سوف تدفع فقط 10 سنتات/الساعة مع مثيل m1.small.

كل ما تحتاجه هو شخص يبدأ المثيل يدويًا شهريًا أو يطلب من عميلك تثبيت وظيفة cronjob شهرية صغيرة لبدء المثيل.

ملحوظة:Shutdown -h مطلوب، وإلا سيتم إعادة تشغيل المثيل بدلاً من التوقف

نصائح أخرى

سأختار الحل وأحصل على VPS، وبعد 6 أشهر ستجد بالتأكيد أنك وجدت الكثير من الاستخدامات له.

أستخدم خدمة استضافة مشتركة تسمح بذلك، وأستخدمها للمزامنة الليلية.

في الواقع، يبدو تشغيل المهمة نفسها على EC2 ذا أهمية كبيرة، ولكن تشغيل cron نفسه على EC2 هو في الواقع هدر.

لا أستطيع التفكير في كيفية تشغيل cron على جهاز ليس ملكك.

يمكنك استخدام http://guardiano.pm ومن ثم يمكنك إنشاء وظيفة والاتصال بواجهة برمجة التطبيقات الخاصة بك عندما تريد.سوف يقوم Guradiano بالاتصال بـ/api/dothat وسيقوم التطبيق بتنفيذ بعض المهام.الشيء الوحيد الذي يجب تأمينه هو إرسال بعض المعلمات مع الطلب وفقط إذا تم إرسال المعلمة الصحيحة فسوف تقوم بتنفيذ الإجراء.

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