يُنشئ برنامج جدولة المهام في الواجهة الخلفية لتطبيق AppMaster ، كما هو الحال في الحالة الكلاسيكية للواجهة الخلفية ، سيناريوهات متكررة. على سبيل المثال ، عندما تحتاج إلى القيام بعمل معين وفقًا لجدول زمني. المثال الكلاسيكي لمثل هذه المهام هو مثال على تنظيف الملفات المؤقتة على الخادم ، والنسخ الاحتياطية الأسبوعية ، وإنشاء التقارير وفقًا لخوارزمية معينة ، وما إلى ذلك.
دعنا نفكر في مثال على استخدام برنامج جدولة المهام في الواجهة الخلفية لتطبيق AppMaster. لنفترض أنك تريد إنشاء عملية تقوم كل صباح في الساعة 9:00 صباحًا بإرسال حالة الطقس للمستخدم إلى رقم هاتفه المحمول.
وهكذا تنقسم المهمة إلى عدة مراحل منطقية:
- تركيب وتكوين الوحدة الخاصة بإرسال رسائل الجوال
- إنشاء وتكوين عملية API لطلب خارجي
- إعداد برنامج جدولة في الواجهة الخلفية للتطبيق
1. تثبيت وتكوين الوحدة النمطية لإرسال رسائل الجوال. تسمح لك وحدة Nexmo بدمج إمكانية إرسال رسائل SMS إلى رقم محدد في تطبيق AppMaster.
- مفتاح API - مفتاح API الذي يمكن الحصول عليه في حساب Nexmo الخاص بك ( https://dashboard.nexmo.com/settings ) ؛
- سر API - مفتاح خاص يتم استخدامه مع مفتاح API لتحديد هوية المستخدم. يمكنك أيضًا الحصول عليه في حساب Nexmo الخاص بك ( https://dashboard.nexmo.com/settings ) ؛
- من الرقم - الرقم المحدد أثناء التسجيل في حساب Nexmo الخاص بك.
يتم تثبيت عمليات الأعمال التالية تلقائيًا مع تثبيت الوحدة:
- Nexmo.Send SMS - يسمح لك بإرسال رسائل إلى الرقم المحدد من خلال ملف
وحدة Nexmo:
- الهاتف [الهاتف] - رقم الهاتف الذي سيتم إرسال الرسالة إليه ؛
- المحتوى [سلسلة] - رسالة نصية ؛
2. سيتم استخدام مورد ويب OpenWeather API المجاني كمصدر بيانات الطقس ( https://openweathermap.org/api ). الخطوة الأولى هي إنشاء نموذج طلب خارجي لواجهة برمجة التطبيقات. يتم تقديم قوالب طلبات واجهة برمجة التطبيقات في قسم إجراءات الأعمال بعلامة التبويب طلبات واجهة برمجة التطبيقات الخارجية. لإنشاء قالب جديد ، انقر فوق إنشاء طلب API.
نوع الطلب: GET
عنوان الطلب: https://api.openweathermap.org/data/2.5/weather
معاملات الاستعلام:
- خط العرض - خط العرض
- Lon [سلسلة] - خط الطول
- معرف التطبيق [سلسلة] - مفتاح OpenWeather API
كجزء من هذه المهمة ، نحن مهتمون فقط ببعض مجالات هيئة الاستجابة الرئيسية ( https://openweathermap.org/api/one-call-3 ).
- درجة الحرارة [تعويم] - درجة الحرارة
- Temp_min [تعويم] - درجة حرارة دقيقة
- Temp_max [تعويم] - درجة الحرارة القصوى
- الضغط [تعويم] - الضغط
- الرطوبة [الطفو] - الرطوبة
3. قبل إعداد برنامج جدولة المهام ، تحتاج إلى إنشاء عملية أعمال ستتلقى معلومات الطقس عبر واجهة برمجة التطبيقات. تبدو عملية الأعمال كما يلي:
- إنشاء نموذج استعلام عن الطقس - يقوم بإنشاء نموذج معلمة طلب افتراضي. Lon ، lat - إحداثيات الموقع المطلوب ، appid - مفتاح API لخدمة OpenWeather ؛
- طلب API: الطقس - عملية الأعمال المسؤولة عن التفاعل مع OpenWeather API
- توسيع الطقس: Body Model Out - مطلوب لنشر نموذج استجابة الجسم
- Expand Weather: Body Model Out_main - يوسع النموذج الرئيسي لجسم هيئة الطلب والاستجابة من أجل الحصول على درجة الحرارة (درجة الحرارة).
- إلى سلسلة - يحول قيمة الحقل المؤقت إلى نوع سلسلة ؛
- Nexmo: إرسال SMS - يرسل رسالة تحتوي على معلومات حول درجة الحرارة (المحتوى) إلى رقم الهاتف المحدد (الهاتف)
قم بإعداد برنامج جدولة في قسم عملية الأعمال في علامة التبويب "المجدول".
تختلف إعدادات المجدول في علامة التبويب "جدولة" تبعًا لنوعها.
دعونا نفكر في كل منهم بالتفصيل
1. يومي - يسمح بتكوين الجداول اليومية
- الوقت - يحدد الوقت بالتوقيت العالمي المنسق + 0 الذي سيبدأ فيه المجدول BP المحدد ؛
- أيام الأسبوع - تحدد أيام الأسبوع التي يعمل فيها المجدول ؛
- ابدأ تلقائيًا - إذا تم ضبطه على True ، فلن يبدأ BP الجديد إذا لم يكتمل السابق. القيمة الافتراضية: خطأ.
- إعادة المحاولة تلقائيًا - إعادة العملية تلقائيًا إذا تمت مقاطعتها / لم تبدأ بنجاح.
إعادة محاولة معالجة العناصر الفاشلة - عدد محاولات إعادة تشغيل العملية ؛
انتظر قبل كل محاولة لإعادة المحاولة - تأخر الوقت قبل كل لقطة لإعادة بدء العملية ؛
- فرض الإنهاء - قم بإنهاء العملية بقوة إذا لم تكتمل في غضون ثوانٍ قليلة. صحيح ، بشكل افتراضي. عدد الثواني حتى الاكتمال هو 3 ثوانٍ افتراضيًا.
2. مخطط شهري - شهري
- الوقت - يحدد الوقت بالتوقيت العالمي المنسق + 0 الذي سيبدأ فيه المجدول BP المحدد ؛
- أيام الأسبوع - تتكون من إعدادين:
تكرار التكرار:
- كل اولا
- كل ثانية
- كل ثالث
- كل رابع
- هذا اليوم
يوم الأسبوع - يحدد يوم الأسبوع
- الشهر - يتم تحديد الشهر
- البدء التلقائي - في حالة الضبط على True ، لن يتم بدء تشغيل PSU جديد ما لم يكتمل قريبًا. القيمة الافتراضية: خطأ.
- إعادة المحاولة تلقائيًا - إعادة العملية تلقائيًا إذا تمت مقاطعتها / لم تبدأ
إعادة محاولة معالجة العناصر الفاشلة - عدد عمليات إعادة التشغيل ؛
انتظر قبل كل إعادة محاولة - وقت التأخير قبل كل محاولة لإعادة العملية ؛
- فرض الإنهاء - إنهاء العملية إذا لم تكتمل في غضون ثوانٍ قليلة. صحيح ، بشكل افتراضي. عدد الثواني حتى الاكتمال هو 3 ثوانٍ افتراضيًا.
3. دوري - يسمح لك بتكوين تردد المجدول بمرونة
- كل - القدرة على ضبط التكرار كل N ثانية / دقيقة / ساعات / أيام. الافتراضي: كل ساعة.
- ابدأ تلقائيًا - إذا تم ضبطه على True ، فلن يبدأ BP الجديد إذا لم يكتمل السابق. القيمة الافتراضية: خطأ.
- إعادة المحاولة تلقائيًا - إعادة العملية تلقائيًا إذا تمت مقاطعتها / لم تبدأ بنجاح
إعادة محاولة معالجة العناصر الفاشلة - عدد محاولات إعادة تشغيل العملية ؛
انتظر قبل كل محاولة لإعادة المحاولة - تأخر الوقت قبل كل لقطة لإعادة بدء العملية ؛
- فرض الإنهاء - قم بإنهاء العملية بقوة إذا لم تكتمل في غضون ثوانٍ قليلة. صحيح ، بشكل افتراضي. عدد الثواني حتى الاكتمال هو 3 ثوانٍ افتراضيًا.
4. بعد بدء التطبيق - مخطط المهام لمرة واحدة
- التأخير - يحدد التأخير بين بدء التطبيق وبدء التشغيل. افتراضي - 0 ثانية
- إعادة المحاولة تلقائيًا - إعادة العملية تلقائيًا إذا تمت مقاطعتها / لم تبدأ بنجاح
إعادة محاولة معالجة العناصر الفاشلة - عدد محاولات إعادة تشغيل العملية ؛
انتظر قبل كل محاولة لإعادة المحاولة - تأخر الوقت قبل كل لقطة لإعادة بدء العملية ؛
- فرض الإنهاء - قم بإنهاء العملية بقوة إذا لم تكتمل في غضون ثوانٍ قليلة. صحيح ، بشكل افتراضي. عدد الثواني حتى الاكتمال هو 3 ثوانٍ افتراضيًا.
5. قبل الانتهاء من التطبيق - قم بتشغيل المجدول في كل مرة ينتهي فيها التطبيق
- إعادة المحاولة تلقائيًا - إعادة العملية تلقائيًا إذا تمت مقاطعتها / لم تبدأ بنجاح
إعادة محاولة معالجة العناصر الفاشلة - عدد محاولات إعادة تشغيل العملية ؛
انتظر قبل كل محاولة إعادة - تأخير الوقت قبل كل محاولة لإعادة العملية ؛
- فرض الإنهاء - قم بإنهاء العملية بقوة إذا لم تكتمل في غضون ثوانٍ قليلة. صحيح ، بشكل افتراضي. عدد الثواني حتى الاكتمال هو 3 ثوانٍ افتراضيًا.
في علامة التبويب Params لإعدادات برنامج الجدولة ، من الممكن أيضًا تمرير المعلمات إلى إدخال BP عندما يتم تشغيله بواسطة المجدول:
في مثالنا ، تبدو إعدادات المجدول كما يلي:
- سيتم إرسال الرسائل كل يوم في الساعة 9 صباحًا بالتوقيت العالمي المنسق + 0
- يحاول تلقائيًا إعادة تشغيل العملية 3 مرات مع تأخير لمدة 10 دقائق بين المحاولات إذا لم تبدأ العملية على الفور ؛
- ينهي العملية بالقوة إذا لم تكتمل في غضون ثلاث ثوانٍ.
تطبيقنا يعيش ويعمل في الخلفية ، لذلك يكفي لنشره لكي يعمل.