تشغيل مهام الخلفية باستخدام WebJobs في Azure App Service
نشر WebJobs باستخدام مدخل Azure لتحميل ملف قابل للتنفيذ أو برنامج نصي. يمكنك تشغيل مهام الخلفية في خدمة تطبيقات Azure.
إذا كنت تستخدم Visual Studio 2019 لتطوير WebJobs ونشره بدلا من خدمة تطبيقات Azure، فراجع نشر WebJobs باستخدام Visual Studio.
نظرة عامة
WebJobs هي إحدى ميزات Azure App Service التي تمكنك من تشغيل برنامج أو برنامج نصي في نفس مثيل تطبيق الويب أو تطبيق واجهة برمجة التطبيقات أو تطبيق الجوال. لا توجد تكلفة إضافية لاستخدام WebJobs.
يمكنك استخدام Azure WebJobs SDK مع WebJobs لتبسيط العديد من مهام البرمجة. WebJobs غير مدعوم بعد لخدمة التطبيقات على Linux. لمزيد من المعلومات، راجع ما هي WebJobs SDK.
يوفر Azure Functions طريقة أخرى لتشغيل البرامج والبرامج النصية. لإجراء مقارنة بين WebJobs والدالات، راجع الاختيار بين Flow والتطبيقات المنطقية والدالات وWebJobs.
أنواع WebJob
يصف الجدول التالي الاختلافات بين WebJobs المستمروالتشغيلي .
| مستمر | مشغّلة |
|---|---|
| يبدأ على الفور عند إنشاء WebJob. للحفاظ على المهمة من النهاية ، يقوم البرنامج أو البرنامج النصي عادة بعمله داخل حلقة لا نهاية لها. إذا انتهت المهمة، يمكنك إعادة تشغيلها. تستخدم عادة مع WebJobs SDK. | يبدأ فقط عند تشغيله يدويا أو وفقا لجدول زمني. |
| يعمل على جميع المثيلات التي يعمل عليها تطبيق الويب. يمكنك اختياريا تقييد WebJob إلى مثيل واحد. | يعمل على مثيل واحد يحدده Azure لموازنة التحميل. |
| يدعم تصحيح الأخطاء عن بعد. | لا يدعم تصحيح الأخطاء عن بعد. |
يتم نشر التعليمات البرمجية تحت \site\wwwroot\app_data\Jobs\Continuous. |
يتم نشر التعليمات البرمجية تحت \site\wwwroot\app_data\Jobs\Triggered. |
ملاحظة
يمكن أن تنتهي مهلة تطبيق الويب بعد 20 دقيقة من عدم النشاط، ولا يمكن إعادة تعيين المؤقت إلا للطلبات المقدمة إلى تطبيق الويب الفعلي. لا يؤدي عرض تكوين التطبيق في مدخل Azure أو تقديم طلبات إلى موقع الأدوات المتقدمة (https://<app_name>.scm.azurewebsites.net) إلى إعادة تعيين المؤقت. إذا قمت بتعيين تطبيق الويب الذي يستضيف وظيفتك ليعمل بشكل مستمر أو يعمل وفقا لجدول زمني أو يستخدم مشغلات مستندة إلى الحدث، فقم بتمكين إعداد "التشغيل دائما " في صفحة تكوين Azure لتطبيق الويب الخاص بك. يساعد إعداد "دائما قيد التشغيل" على التأكد من أن هذه الأنواع من WebJobs تعمل بشكل موثوق. تتوفر هذه الميزة فقط في مستويات التسعير الأساسية والقياسية Premium.
أنواع الملفات المدعومة للبرامج النصية أو البرامج
يتم دعم أنواع الملفات التالية:
- .cmd، .bat، .exe (باستخدام Windows cmd)
- .ps1 (باستخدام PowerShell)
- .sh (باستخدام باش)
- .php (باستخدام PHP)
- .py (باستخدام بايثون)
- .js (باستخدام Node.js)
- .jar (باستخدام جافا)
إنشاء WebJob مستمر
هام
عندما يكون لديك عنصر تحكم المصدر الذي تم تكوينه للتطبيق الخاص بك، يجب نشر Webjobs كجزء من تكامل التحكم في المصدر. بعد تكوين عنصر تحكم المصدر للتطبيق الخاص بك، لا يمكن إضافة WebJob من مدخل Azure.
في مدخل Azure، انتقل إلى صفحة خدمة التطبيقات في تطبيق ويب App Service أو تطبيق API أو تطبيق الأجهزة المحمولة.
في الجزء الأيمن من صفحة خدمة التطبيقات في تطبيقك، ابحث عن WebJobs وحدده.

في صفحة وظائف الويب ، حدد إضافة.

املأ إعدادات إضافة WebJob كما هو محدد في الجدول.

إعداد قيمة العينة الوصف الاسم myContinuousWebJob اسم فريد داخل تطبيق App Service. يجب أن تبدأ بحرف أو رقم ولا يمكن أن تحتوي على أحرف خاصة بخلاف "-" و "_". Upload الملفات ConsoleApp.zip ملف .zip يحتوي على ملف قابل للتنفيذ أو برنامج نصي بالإضافة إلى أي ملفات دعم مطلوبة لتشغيل البرنامج أو البرنامج النصي. يتم سرد أنواع الملفات القابلة للتنفيذ أو البرنامج النصي المدعومة في القسم أنواع الملفات المدعومة . النوع مستمر يتم وصف أنواع WebJob في وقت سابق في هذه المقالة. المقياس مثيل متعدد متوفر فقط ل WebJobs المستمرة. يحدد ما إذا كان البرنامج أو البرنامج النصي يعمل على جميع المثيلات أو مثيل واحد فقط. لا ينطبق خيار التشغيل على مثيلات متعددة على مستويات التسعير المجانية أو المشتركة. حدد "OK".
يظهر WebJob الجديد في صفحة WebJobs . إذا ظهرت لك رسالة تفيد بأنه تمت إضافة WebJob، ولكنك لا تراها، فحدد تحديث.

لإيقاف WebJob مستمر أو إعادة تشغيله، انقر بزر الماوس الأيمن فوق WebJob في القائمة وحدد إيقاف أو ابدأ.

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

في صفحة وظائف الويب ، حدد إضافة.

املأ إعدادات إضافة WebJob كما هو محدد في الجدول.

إعداد قيمة العينة الوصف الاسم myTriggeredWebJob اسم فريد داخل تطبيق App Service. يجب أن تبدأ بحرف أو رقم ولا يمكن أن تحتوي على أحرف خاصة بخلاف "-" و "_". Upload الملفات ConsoleApp.zip ملف .zip يحتوي على ملف قابل للتنفيذ أو برنامج نصي بالإضافة إلى أي ملفات دعم مطلوبة لتشغيل البرنامج أو البرنامج النصي. يتم سرد أنواع الملفات القابلة للتنفيذ أو البرنامج النصي المدعومة في القسم أنواع الملفات المدعومة . النوع مشغّلة يتم وصف أنواع WebJob مسبقا في هذه المقالة. أزرار التشغيل يدوي حدد "OK".
يظهر WebJob الجديد في صفحة WebJobs . إذا ظهرت لك رسالة تفيد بأنه تمت إضافة WebJob، ولكنك لا تراها، فحدد تحديث.

لتشغيل WebJob، انقر بزر الماوس الأيمن فوق اسمه في القائمة وحدد تشغيل.

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

في صفحة وظائف الويب ، حدد إضافة.

املأ إعدادات إضافة WebJob كما هو محدد في الجدول.

إعداد قيمة العينة الوصف الاسم myScheduledWebJob اسم فريد داخل تطبيق App Service. يجب أن تبدأ بحرف أو رقم ولا يمكن أن تحتوي على أحرف خاصة بخلاف "-" و "_". Upload الملفات ConsoleApp.zip ملف .zip يحتوي على ملف قابل للتنفيذ أو برنامج نصي بالإضافة إلى أي ملفات دعم مطلوبة لتشغيل البرنامج أو البرنامج النصي. يتم سرد أنواع الملفات القابلة للتنفيذ أو البرنامج النصي المدعومة في القسم أنواع الملفات المدعومة . النوع مشغّلة يتم وصف أنواع WebJob في وقت سابق في هذه المقالة. أزرار التشغيل مجدولة لكي تعمل الجدولة بشكل موثوق، قم بتمكين ميزة التشغيل دائما. يتوفر "التشغيل الدائم" فقط في مستويات التسعير الأساسية والقياسية Premium. تعبير CRON 0 0/20 * * * * يتم وصف تعبيرات CRON في القسم التالي. حدد "OK".
يظهر WebJob الجديد في صفحة WebJobs . إذا ظهرت لك رسالة تفيد بأنه تمت إضافة WebJob، ولكنك لا تراها، فحدد تحديث.

تعبيرات NCRONTAB
يمكنك إدخال تعبير NCRONTAB في البوابة الإلكترونية أو تضمين ملف settings.job في جذر ملف WebJob.zip، كما في المثال التالي:
{
"schedule": "0 */15 * * * *"
}
لمعرفة المزيد، راجع جدولة WebJob قيد التشغيل.
ملاحظة
المنطقة الزمنية الافتراضية المستخدمة لتشغيل تعبيرات CRON هي التوقيت العالمي المنسق (UTC). لتشغيل تعبير CRON استنادا إلى منطقة زمنية أخرى، قم بإنشاء إعداد تطبيق لتطبيق الدالة باسم WEBSITE_TIME_ZONE. لمعرفة المزيد، راجع المناطق الزمنية NCRONTAB.
إدارة وظائف الويب
يمكنك إدارة WebJobs الفردية قيد التشغيل في موقعك في مدخل Azure. ما عليك سوى الانتقال إلى الإعدادات>WebJobs ، واختيار WebJob ، ويمكنك بدء WebJob وإيقافه. يمكنك أيضا عرض كلمة مرور خطاف الويب الذي يقوم بتشغيل WebJob وتعديلها.
يمكنك أيضا إضافة إعداد تطبيق باسم WEBJOBS_STOPPED بقيمة 1 إيقاف تشغيل جميع WebJobs على موقعك. يمكن أن يكون هذا مفيدا كوسيلة لمنع WebJobs المتضاربة من التشغيل في كل من فتحات التدريج والإنتاج. يمكنك بالمثل استخدام قيمة 1 للإعداد لتعطيل WEBJOBS_DISABLE_SCHEDULE WebJobs التي تم تشغيلها في الموقع أو فتحة التدريج. بالنسبة إلى الفتحات، تذكر تمكين خيار إعداد فتحة النشر حتى لا يتم تبديل الإعداد نفسه.
عرض السجل الوظيفي
حدد WebJob، ثم للاطلاع على المحفوظات، حدد السجلات.

في صفحة تفاصيل WebJob ، حدد وقتا للاطلاع على التفاصيل لجولة واحدة.

في الصفحة تفاصيل تشغيل WebJob ، حدد تبديل الإخراج لرؤية نص محتويات السجل.

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


الخطوات التالية
يمكن استخدام Azure WebJobs SDK مع WebJobs لتبسيط العديد من مهام البرمجة. لمزيد من المعلومات، راجع ما هي WebJobs SDK.