جدولة وتشغيل مهام سير العمل المتكررة باستخدام مشغل التكرار في Azure Logic Apps

ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)

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

  • قم بتشغيل في تاريخ ووقت محددين، ثم كرر كل عدد n من الثوان أو الدقائق أو الساعات أو الأيام أو الأسابيع أو الأشهر.

  • قم بتشغيل فورا وكرر كل عدد n من الثوان أو الدقائق أو الساعات أو الأيام أو الأسابيع أو الأشهر.

  • قم بتشغيل فورا وكرر يوميا في مرة واحدة أو أكثر من الأوقات المحددة، مثل 8:00 صباحا و5:00 مساء.

  • قم بتشغيل فورا وكرر العمل أسبوعيا في أيام محددة، مثل السبت والأحد.

  • قم بتشغيل فورا وكرر العمل أسبوعيا في أيام وأوقات محددة، مثل الاثنين إلى الجمعة في الساعة 8:00 صباحا و5:00 مساء.

إشعار

لبدء سير العمل وتشغيله مرة واحدة فقط في المستقبل، استخدم قالب سير العمل المسمى Scheduler: Run Once Jobs. يستخدم هذا القالب مشغل الطلب وإجراء HTTP، بدلا من مشغل التكرار، الذي لا يدعم نمط التكرار هذا. لمزيد من المعلومات، راجع تشغيل المهام مرة واحدة فقط.

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

مشغل التكرار هو جزء من موصل الجدول المضمن ويعمل أصلا في وقت تشغيل Azure Logic Apps. لمزيد من المعلومات حول مشغلات وإجراءات الجدول المضمنة، راجع جدولة وتشغيل المهام ومهام سير العمل التلقائية المتكررة مع Azure Logic Apps.

المتطلبات الأساسية

  • حساب واشتراك Azure. إذا لم يكن لديك اشتراك، فيجب التسجيل للحصول على حساب Azure مجاني.

  • مورد Consumption أو Standard logic app مع سير عمل فارغ.

    إشعار

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

إضافة مشغل التكرار

استنادا إلى ما إذا كان سير العمل الخاص بك هو Consumption أو Standard، اتبع الخطوات المقابلة:

  1. في مدخل Microsoft Azure، افتح مورد تطبيق المنطق وسير العمل الفارغ.

  2. اتبع هذه الخطوات العامة لإضافة مشغل الجدولة المضمن المسمى التكرار.

  3. تعيين الفاصل الزمني والتكرار للتكرار. في هذا المثال، قم بتعيين هذه الخصائص لتشغيل سير العمل كل أسبوع، على سبيل المثال:

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    الخاصية اسم JSON المطلوب نوع ‏‏الوصف
    الفترة interval ‏‏نعم‬ Integer عدد صحيح موجب يصف عدد مرات تشغيل سير العمل استنادا إلى التردد. فيما يلي الحد الأدنى والحد الأقصى للفواصل الزمنية:

    - الشهر: 1-16 شهرا
    - الأسبوع: 1-71 أسبوعا
    - اليوم: 1-500 يوم
    - الساعة: 1-12,000 ساعة
    - دقيقة: 1-72000 دقيقة
    - الثانية: 1-9999999 ثانية

    على سبيل المثال، إذا كان الفاصل الزمني هو 6، والتكرار هو "شهر"، فإن التكرار يكون كل 6 أشهر.
    التردد frequency ‏‏نعم‬ السلسلة‬ وحدة وقت التكرار: الثانية أو الدقيقة أو الساعة أو اليوم أو الأسبوع أو الشهر

    هام: إذا حددت تكرار اليوم أو الأسبوع أو الشهر، وقمت بتحديد تاريخ ووقت بدء مستقبلي، فتأكد من إعداد التكرار مسبقا. وإلا، فقد يتخطى سير العمل التكرار الأول.

    - Day: قم بإعداد التكرار اليومي قبل 24 ساعة على الأقل.

    - Week: قم بإعداد التكرار الأسبوعي قبل 7 أيام على الأقل.

    - Month: قم بإعداد التكرار الشهري قبل شهر واحد على الأقل.
  4. راجع الاعتبارات التالية عند استخدام مشغل التكرار :

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

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

    • للتأكد من أن سير العمل الخاص بك لا يفوته تكرار، خاصة عندما يكون التكرار في أيام أو أكثر، جرب الخيارات التالية:

      • توفير تاريخ ووقت بدء التكرار والأوقات المحددة لتشغيل التكرارات اللاحقة. يمكنك استخدام الخصائص المسماة في هذه الساعات وفي هذه الدقائق، والتي تتوفر فقط لترددات اليوم والأسبوع.

      • بالنسبة إلى مهام سير عمل تطبيق منطق الاستهلاك، استخدم مشغل النافذة المنزلقة، بدلا من مشغل التكرار.

    • إذا قمت بنشر سير عمل استهلاك معطل يحتوي على مشغل تكرار باستخدام قالب ARM، يتم تشغيل المشغل على الفور عند تمكين سير العمل ما لم تقم بتعيين معلمة وقت البدء قبل النشر.

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

    الخاصية اسم JSON المطلوب نوع ‏‏الوصف
    المنطقة الزمنية timeZone لا السلسلة يسري فقط عندما تحدد وقت بدء لأن هذا المشغل لا يقبل تعويض التوقيت العالمي المتفق عليه. حدد المنطقة الزمنية التي تريد تطبيقها.
    وقت البدء startTime لا السلسلة توفير تاريخ ووقت البدء، والذي يحتوي على 49 عاما كحد أقصى في المستقبل ويجب أن يتبع مواصفاتوقت التاريخ ISO 8601 بتنسيق وقت التاريخ UTC، ولكن دون إزاحة UTC:

    YYYY-MM-DDThh:mm:ss إذا قمت بتحديد منطقة زمنية

    -او-

    YYYY-MM-DDThh:mm:ssZ إذا لم تحدد منطقة زمنية

    لذلك، على سبيل المثال، إذا كنت تريد 18 سبتمبر 2020 في الساعة 2:00 مساء، فحدد "2020-09-18T14:00:00" وحدد منطقة زمنية مثل توقيت المحيط الهادئ القياسي. أو حدد "2020-09-18T14:00:00Z" دون منطقة زمنية.

    هام: إذا لم تحدد منطقة زمنية، يجب إضافة الحرف "Z" في النهاية دون أي مسافات. يشير هذا الحرف "Z" إلى ما يعادل الوقت البحري. إذا حددت قيمة منطقة زمنية، فلن تحتاج إلى إضافة "Z" إلى نهاية قيمة وقت البدء. إذا قمت بذلك، يتجاهل Logic Apps قيمة المنطقة الزمنية لأن "Z" يشير إلى تنسيق التوقيت العالمي المتفق عليه.

    بالنسبة للجداول الزمنية البسيطة، يكون وقت البدء هو أول ظهور، بينما بالنسبة للجداول المعقدة، لا يتم إطلاق المشغل في وقت أقرب من وقت البدء. ما هي الطرق التي يمكنني من خلالها استخدام تاريخ ووقت البدء؟
    في هذه الأيام weekDays لا سلسلة أو مجموعة سلسلة إذا حددت "الأسبوع"، يمكنك تحديد يوم واحد أو أكثر عندما تريد تشغيل سير العمل: الاثنين والثلاثاء والأربعاء والخميس والجمعة والسبت والأحد
    في هذه الساعات hours لا عدد صحيح أو مجموعة صحيحة إذا قمت بتحديد "يوم" أو "أسبوع"، يمكنك تحديد عدد صحيح واحد أو أكثر من 0 إلى 23 كساعات من اليوم للوقت الذي تريد فيه تشغيل سير العمل. على سبيل المثال، إذا حددت "10" و"12" و"14"، فستحصل على 10 صباحا و12 م و2 م لساعات اليوم.

    ملاحظة: بشكل افتراضي، يتم حساب دقائق اليوم استنادا إلى وقت بدء التكرار. لتعيين دقائق محددة من اليوم، على سبيل المثال، 10:00 ص و12:00 م و2:00 م، حدد هذه القيم باستخدام الخاصية المسماة في هذه الدقائق.
    في هذه الدقائق minutes لا عدد صحيح أو مجموعة صحيحة إذا قمت بتحديد "يوم" أو "أسبوع"، يمكنك تحديد عدد صحيح واحد أو أكثر من 0 إلى 59 كدقائق من الساعة عندما تريد تشغيل سير العمل.

    على سبيل المثال، يمكنك تحديد "30" كعلامة دقيقة واستخدام المثال السابق لساعات اليوم، تحصل على 10:30 صباحاً و12:30 ظهراً و2:30 مساءً.

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

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    على سبيل المثال، افترض أن اليوم هو الجمعة، 4 سبتمبر 2020. لا يتم تشغيل مشغل التكرار التالي في وقت أقرب من تاريخ ووقت البدء المحددين، وهو الجمعة 18 سبتمبر 2020 في الساعة 8:00 صباحا بتوقيت المحيط الهادئ. ومع ذلك، يتم تعيين جدول التكرار للساعة 10:30 صباحا و12:30 مساء و2:30 مساء يوم الاثنين فقط. في المرة الأولى التي يتم فيها تشغيل المشغل وإنشاء مثيل سير عمل في يوم الاثنين الساعة 10:30 صباحا. لمعرفة المزيد حول كيفية عمل أوقات البدء، راجع أمثلة وقت البدء هذه.

    تحدث عمليات التشغيل المستقبلية في الساعة 12:30 مساء و2:30 مساء في نفس اليوم. ينشئ كل تكرار مثيل سير العمل الخاص به. بعد ذلك، يتكرر الجدول الزمني بأكمله مرة أخرى يوم الاثنين القادم. ما هي بعض الأمثلة الأخرى على التكرارات؟

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

    إشعار

    يعرض المشغل معاينة للتكرار المحدد فقط عند تحديد اليوم أو الأسبوع كتكرار.

  6. الآن تابع إنشاء سير العمل الخاص بك مع إجراءات أخرى.

تعريف سير العمل - التكرار

يمكنك عرض كيفية ظهور تعريف مشغل التكرار مع الخيارات التي اخترتها من خلال مراجعة تعريف JSON الأساسي لسير العمل الخاص بك في تطبيقات منطق الاستهلاك وتطبيقات المنطق القياسية (ذات الحالة فقط).

استنادا إلى ما إذا كان تطبيق المنطق الخاص بك هو Consumption أو Standard، اختر أحد الخيارات التالية:

  • الاستهلاك: في شريط أدوات المصمم، حدد طريقة عرض التعليمات البرمجية. للعودة إلى المصمم، في شريط أدوات محرر عرض التعليمات البرمجية، حدد المصمم.

  • قياسي: في قائمة سير العمل، حدد طريقة عرض التعليمات البرمجية. للعودة إلى المصمم، في قائمة سير العمل، حدد المصمم.

يوضح المثال التالي كيف قد يظهر تعريف مشغل التكرار في تعريف JSON الأساسي لسير العمل:

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

إشعار

في تعريف مشغل التكرار، evaluatedRecurrence تظهر الخاصية مع الخاصية recurrence عند ظهور أي تعبير أو مرجع معلمة في معايير التكرار. تمثل هذه evaluatedRecurrence الخاصية القيم التي تم تقييمها من التعبير أو مرجع المعلمة. إذا لم تحدد معايير التكرار أي تعبيرات أو مراجع معلمات، evaluatedRecurrence فإن الخاصيتين و recurrence متماثلتين.

يوضح المثال التالي كيفية تحديث تعريف المشغل بحيث يتم تشغيل المشغل مرة واحدة فقط في اليوم الأخير من كل شهر:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

تشغيل إزاحة التكرار والانحراف (التوقيت الصيفي)

لجدولة المهام، تضع Azure Logic Apps الرسالة للمعالجة في قائمة الانتظار وتحدد وقت توفر هذه الرسالة، استناداً إلى وقت UTC عند تشغيل الوظيفة الأخيرة ووقت UTC عند جدولة المهمة التالية للتشغيل. إذا قمت بتحديد وقت بدء بالتكرار، فتأكد من تحديد منطقة زمنية حتى يتم تشغيل سير عمل التطبيق المنطقي في وقت البدء المحدد. بهذه الطريقة، يتغير التوقيت العالمي المتفق عليه (UTC) لتطبيقك المنطقي أيضاً لمواجهة التغيير الموسمي للوقت. تحترم المشغلات المتكررة الجدول الذي تحدده، بما في ذلك أي منطقة زمنية تحددها.

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

الخطوات التالية