إنشاء وظائف ويب بإستخدام مايكروسوفت آزور

30 يناير 2017     375 مشاهدة    0 تعليق
تم النشر في #Azure  #WebJobs 

هنالك الكثير من الخدمات والمميزات التي يقدمها إطار مايكروسوفت السحابي (أزور), إحدى هذه الخدمات هي الـ WebJobs والتي تسمح لنا بتشغيل سكربتات أو برامج تعمل كعملية في الخلف Background Process على صعيد الـ AppService Web App, API App أو الـ Mobile App. ببساطة يمكنك رفع وتشغيل ملفات تنفيذيه مثل: cmd, bat, exe (.NET), ps1, sh, php, py, js و jar. فهي غير مقتصرة على برامج الدوت نت فقط, فيمكنك تشغيل برنامج جافا, بايثون أو غيرهما كـ WebJob سوى بطريقة مستمرة أو بجدول زمني معين.

في هذا المقال سأقوم بتوضيح أهمية الـ Azure WebJobs  ومن ثم سنقوم ببساطه بإنشاء Azure WebJob من خلال الفيجوال ستديو.

تكمن أهمية الـ Azure WebJobs في أنها تتيح للمطورين من تحويل برامجهم المكتوبة باللغات البرمجية المألوفة لهم وتشغيلها في فترات زمنية معينة بدون تدخل برمجي أو الإستعانة بمكتبات تمكنهم من تنفيذ تلك العمليات.

فهنالك أمثلة كثيرة يمكن تطبيقها كـ WebJob مثل إنشاء نسخ إحتياطية لقواعد البيانات, ضغط الصور في موقع معين, إرسال إشعارات سوى برسالة SMS أو بريد إلكتروني عند حدوث شيء معين .. وغيرها.

لكن دعوني اضرب مثالاً آخر, فكنت أفكر في موقعي فلاقيت أنني أقوم بإنشاء ملف خلاصة الأخبار RSS في كل مرة يقوم الزائر بنقر الرابط الخاص, ولكن بعد التفكير العميق لاحظت أن هذه المهمة ممكن تنفيذها كعملية ويب بإستخدام Azure WebJobs وبدون أي تدخل برمجي, فما علي إلا أن أقوم بعمل برنامج Console  Application يقوم بتوليد ملف الـ RSS ومن ثم رفعه في المكان المناسب في فترات زمنية معينة, على سبيل المثال اسبوعياً. طبعاً سيكون إجراء الـ Main ببساطة كالتالي:

static void Main(string[] args)
{
    RssGenerator.Generate();
}

طبعاً أملاحظ أن المطور لا يهتم هو ببرمجة أو تحديد فترات تشغيل تطبيقة برمجياً وإنما يتم ذلك عبر إعدادات الـ Azure WebJobs في الفيجوال ستديو أو الـ Azure Portal.

بعد الإنتهاء من تطبيقك ماعليك إلا أن تقوم بالنقر على الخيار Publish As Azure WebJob كما هو موضح في الصورة أعلاه ومن ثم قم بإتباع مربع الحوار والبيانات المطلوبه, على حسب ما إذا تم إنشاء App Service Plan من الـ Azure Portal أو لا, طبعأً أنصح أن يكون القارىء على معرفة ولو بسيطة بإطار مايكروسوفت السحابي Azure قبل إكمال العملية, طبعاً خلال العملية سيتم إنشاء App Service لتتمكن بعدها من تحديد مدة تنفيذ الـ WebJob ما إذا كانت مستمرة أو يتم تنفيذها وفق جدول زمني معين.

تويتر فيسبوك قوقل + لينكد إن


اكتب تعليقك