Megosztás a következőn keresztül:


Ismétlődő munkafolyamatok ütemezése és futtatása az Ismétlődés eseményindítóval az Azure Logic Appsben

A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)

A munkafolyamat ütemezés szerinti elindításához és futtatásához első lépésként használhatja az általános ismétlődési eseményindítót. Beállíthat egy dátumot, időpontot és időzónát a munkafolyamat elindításához, és ismétlődést a munkafolyamat ismétléséhez. Az alábbi lista néhány olyan mintát tartalmaz, amelyeket ez az eseményindító támogat, valamint a speciálisabb ismétlődéseket és az összetettebb ütemezéseket:

  • Futtasson egy adott dátumot és időpontot, majd ismételje meg n-enként másodpercenként, percben, órában, napon, héten vagy hónapban.

  • Futtassa azonnal, és ismételje meg n-enként másodpercenként, percben, órában, napban, héten vagy hónapban.

  • Futtassa azonnal, és ismételje meg naponta egy vagy több meghatározott időpontban, például 8:00-kor és 17:00-kor.

  • Futtassa azonnal, és ismételje meg hetente adott napokon, például szombaton és vasárnap.

  • Futtassa azonnal, és ismételje meg hetente meghatározott napokon és időpontokban, például hétfőtől péntekig 8:00-kor és 17:00-kor.

Feljegyzés

Speciális ütemezési lehetőségek, például ezekben az órákban és ezekben a napokban érhetők el, és csak beépített lekérdezési eseményindítókkal működnek, például az Ismétlődés és a Tolóablak eseményindítókkal, amelyek közvetlenül az Azure Logic Apps-futtatókörnyezettel futnak. A Microsoft által felügyelt, üzemeltetett és az Azure-ban futtatott összekötők esetében a lekérdezési eseményindítók a következő ismétlődést csak az Intervallum és gyakoriság értékek használatával számítják ki, nem pedig a speciális ütemezési beállításokat.

Az Ismétlődési eseményindító nincs társítva egyetlen szolgáltatáshoz sem, így az eseményindítót szinte bármilyen munkafolyamathoz használhatja, például a Használat logikai alkalmazás munkafolyamatai és a Standard logikai alkalmazás állapotalapú munkafolyamatai. Ez az eseményindító jelenleg nem érhető el a standard logikai alkalmazás állapot nélküli munkafolyamataihoz.

Az ismétlődési eseményindító a beépített Schedule-összekötő része, és natív módon fut az Azure Logic Apps-futtatókörnyezetben. A beépített ütemezési eseményindítókkal és műveletekkel kapcsolatos további információkért lásd : Ismétlődő automatikus, feladatok és munkafolyamatok ütemezése és futtatása az Azure Logic Apps használatával.

Előfeltételek

Az Ismétlődés eseményindító hozzáadása

Attól függően, hogy a munkafolyamat Használat vagy Standard, kövesse a megfelelő lépéseket:

  1. Az Azure Portalon nyissa meg a logikai alkalmazás erőforrását és az üres munkafolyamatot.

  2. Kövesse az alábbi általános lépéseket az Ütemezés beépített eseményindítójának, az Ismétlődés nevű hozzáadásához.

  3. Adja meg az ismétlés időközét és gyakoriságát. Ebben a példában állítsa be ezeket a tulajdonságokat úgy, hogy minden héten futtassa a munkafolyamatot, például:

    Képernyőkép a Consumption munkafolyamat-tervezőről az Ismétlődés eseményindító időközével és gyakoriságával.

    Tulajdonság JSON-név Kötelező Típus Leírás
    Intervallum interval Igen Egész Pozitív egész szám, amely leírja, hogy milyen gyakran fut a munkafolyamat a gyakoriság alapján. A minimális és maximális időközök a következők:

    - Hónap: 1-16 hónap
    - Hét: 1-71 hét
    - Nap: 1-500 nap
    - Óra: 1-12 000 óra
    - Perc: 1-72 000 perc
    - Második: 1-9 999,999 másodperc

    Ha például az intervallum 6, és a gyakoriság "Hónap", akkor az ismétlődés 6 havonta történik.
    Gyakoriság frequency Igen Sztring Az ismétlődés időegysége: Másodperc, Perc, Óra, Nap, Hét vagy Hónap

    Fontos: Ha a Nap, a Hét vagy a Hónap gyakoriságot választja, és megadja a jövőbeli kezdési dátumot és időpontot, győződjön meg arról, hogy előre be van állítva az ismétlődés. Ellenkező esetben előfordulhat, hogy a munkafolyamat kihagyja az első ismétlődéseket.

    - Nap: A napi ismétlődés beállítása legalább 24 órával korábban.

    - Hét: A heti ismétlődés beállítása legalább 7 nappal korábban.

    - Hónap: A havi ismétlődés beállítása legalább egy hónappal korábban.
  4. Tekintse át a következő szempontokat az ismétlődési eseményindító használatakor:

    • Ha nem ad meg egy adott kezdési dátumot és időpontot, az első ismétlődés azonnal lefut a munkafolyamat mentésekor vagy a logikai alkalmazás erőforrásának üzembe helyezésekor az eseményindító ismétlődési beállítása ellenére. A viselkedés elkerülése érdekében adjon meg egy kezdő dátumot és időpontot az első ismétlődés futtatásához.

    • Ha nem ad meg más speciális ütemezési beállításokat, például a jövőbeli ismétlődések futtatásának konkrét időpontjait, az ismétlődések az utolsó futtatási időponton alapulnak. Ennek eredményeképpen az ismétlődések kezdési időpontjai elsodródhatnak olyan tényezők miatt, mint például a tárolási hívások késése.

    • Annak érdekében, hogy a munkafolyamat ne maradjon le az ismétlődésről, különösen akkor, ha a gyakoriság napok vagy hosszabb, próbálkozzon az alábbi lehetőségekkel:

      • Adja meg az ismétlődés kezdő dátumát és időpontját, valamint a későbbi ismétlődések futtatásának konkrét időpontját. Az Ezekben az órákban és ezekben a percekben elnevezett tulajdonságokat használhatja, amelyek csak a Nap és a Hét frekvenciákon érhetők el.

      • A Használat logikai alkalmazás munkafolyamatai esetében az Ismétlődés eseményindító helyett használja a Tolóablak eseményindítót.

    • Ha arm-sablonnal üzembe helyez egy letiltott használatalapú munkafolyamatot, amelynek ismétlődési eseményindítója van, az eseményindító azonnal aktiválódik, amikor engedélyezi a munkafolyamatot, hacsak nem állítja be a Kezdési idő paramétert az üzembe helyezés előtt.

  5. A speciális ütemezési beállítások beállításához nyissa meg az Új paraméter hozzáadása listát. A kiválasztott beállítások a kijelölés után megjelennek az eseményindítón.

    Tulajdonság JSON-név Kötelező Típus Leírás
    Időzóna timeZone Nem Sztring Csak akkor érvényes, ha megadja a kezdési időpontot, mert ez az eseményindító nem fogadja el az UTC-eltolást. Válassza ki az alkalmazni kívánt időzónát. További információ: Alapértelmezett időzónák.
    Kezdési idő startTime Nem Sztring Adjon meg egy kezdő dátumot és időpontot, amely legfeljebb 49 évvel rendelkezik a jövőben, és az ISO 8601 dátumidő-specifikációt kell követnie UTC dátum időformátumban, de UTC-eltolás nélkül:

    YYYY-MM-DDThh:mm:ss, ha kiválaszt egy időzónát

    -vagy-

    YYYY-MM-DDThh:mm:ssZ, ha nem jelöl ki időzónát

    Így például ha 2020. szeptember 18-án 14:00-kor szeretné használni, adja meg a "2020-09-18T14:00:00" értéket, és válasszon ki egy időzónát, például a Csendes-óceáni téli időt. Vagy adja meg a "2020-09-18T14:00:00Z" értéket időzóna nélkül.

    Fontos: Ha nem jelöl ki időzónát, szóköz nélkül kell hozzáadnia a "Z" betűt a végén. Ez a "Z" az egyenértékű tengeri időre utal. Ha kiválaszt egy időzónaértéket, nem kell "Z" értéket hozzáadnia a kezdési idő értékének végéhez. Ha igen, a Logic Apps figyelmen kívül hagyja az időzóna értékét, mert a "Z" utc időformátumot jelez.

    Az egyszerű ütemezések esetében a kezdési időpont az első előfordulás, míg összetett ütemezések esetén az eseményindító nem aktiválódik hamarabb, mint a kezdési időpont. Milyen módokon használhatom a kezdő dátumot és időpontot?
    Ezeken a napokon weekDays Nem Sztring vagy sztringtömb Ha a "Hét" lehetőséget választja, kiválaszthat egy vagy több napot, amikor futtatni szeretné a munkafolyamatot: hétfő, kedd, szerda, csütörtök, péntek, szombat és vasárnap
    Ezekben az órákban hours Nem Egész vagy egész szám tömb Ha a "Nap" vagy a "Hét" lehetőséget választja, egy vagy több egész számot 0 és 23 között választhat a munkafolyamat futtatásának napjának óráiként. Ha például a "10", a "12" és a "14" értéket adja meg, akkor a nap óráiban 10,12 és 14 óra lesz.

    Megjegyzés: Alapértelmezés szerint a nap perceinek kiszámítása az ismétlődés kezdete alapján történik. A nap adott perceinek (például 10:00, 12:00 és 14:00) beállításához adja meg ezeket az értékeket az Alábbi percek nevű tulajdonság használatával.
    Ezekben a percekben minutes Nem Egész vagy egész szám tömb Ha a "Nap" vagy a "Hét" lehetőséget választja, egy vagy több egész számot is kiválaszthat 0 és 59 között a munkafolyamat futtatásának perceiként.

    Megadhatja például a "30" értéket a percjelként, és az előző példát használva a nap óráira 10:30, 12:30 és 14:30 óra lesz.

    Megjegyzés: Előfordulhat, hogy az aktivált futtatás időbélyege az ütemezett időponttól függően akár 1 perc is lehet. Ha az időbélyeget pontosan a későbbi műveleteknek megfelelően kell átadnia, sablonkifejezésekkel ennek megfelelően módosíthatja az időbélyeget. További információ: Kifejezések dátum- és időfüggvényei.

    Képernyőkép a Használati munkafolyamat-tervező és az Ismétlődés eseményindítóról speciális ütemezési beállításokkal.

    Tegyük fel például, hogy 2020. szeptember 4., péntek van. A következő ismétlődési eseményindító nem aktiválódik hamarabb a megadott kezdési dátumnál és időpontnál, azaz 2020. szeptember 18-án, pénteken, csendes-óceáni idő szerint 8:00-kor. Az ismétlődési ütemezés azonban csak hétfőnként 10:30, 12:30 és 14:30-ra van beállítva. Az eseményindító első indítása és munkafolyamat-példány létrehozása hétfőn 10:30-kor történik. Ha többet szeretne megtudni a kezdési időpontok működéséről, tekintse meg ezeket a kezdési időpontra vonatkozó példákat.

    A jövőbeli futtatások ugyanazon a napon 12:30-kor és 14:30-kor történnek. Minden ismétlődés létrehoz egy saját munkafolyamat-példányt. Ezt követően a teljes ütemezés jövő hétfőn újra megismétli. Mik a többi példaesemények?

    Képernyőkép a Használat munkafolyamatról és az Ismétlődés eseményindítóról speciális ütemezési példával.

    Feljegyzés

    Az eseményindító csak akkor jeleníti meg a megadott ismétlődés előnézetét, ha a Nap vagy a Hét lehetőséget választja gyakoriságként.

  6. Most folytassa a munkafolyamat összeállítását más műveletekkel.

Munkafolyamat-definíció – Ismétlődés

Az Ismétlődés eseményindító definíciója a választott beállításokkal való megjelenítéséhez tekintse át a munkafolyamat alapjául szolgáló JSON-definíciót a Használat logikai alkalmazásokban és a Standard logikai alkalmazásokban (csak állapotalapú).

Attól függően, hogy a logikai alkalmazás Használat vagy Standard, válasszon az alábbi lehetőségek közül:

  • Felhasználás: A tervező eszköztárán válassza a Kód nézetet. A tervezőhöz való visszatéréshez a kódnézet-szerkesztő eszköztárán válassza a Tervező lehetőséget.

  • Standard: A munkafolyamat menüjében válassza a Kód nézetet. A tervezőhöz való visszatéréshez válassza a Munkafolyamat menü Tervező elemét.

Az alábbi példa bemutatja, hogyan jelenhet meg az ismétlődési eseményindító definíciója a munkafolyamat mögöttes JSON-definíciójában:

"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"
      }
   }
}

Feljegyzés

Az Ismétlődési eseményindító definíciójában a evaluatedRecurrence tulajdonság a tulajdonsággal recurrence együtt jelenik meg, amikor bármely kifejezés vagy paraméterhivatkozás megjelenik az ismétlődési feltételekben. Ez a evaluatedRecurrence tulajdonság a kifejezés vagy paraméterhivatkozás kiértékelt értékeit jelöli. Ha az ismétlődési feltételek nem adnak meg kifejezéseket vagy paraméterhivatkozásokat, a tulajdonságok és recurrence a evaluatedRecurrence tulajdonságok megegyeznek.

Az alábbi példa bemutatja, hogyan frissítheti az eseményindító definícióját, hogy az eseményindító csak egyszer fusson minden hónap utolsó napján:

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

Csak egyszeri futtatás

Ha a munkafolyamatot csak egy időben szeretné futtatni a jövőben, alkalmazhatja a Scheduler: Run once jobs munkafolyamat-sablont, amely csak a Consumption logikai alkalmazás munkafolyamataihoz érhető el. Ez a sablon a Kérelem eseményindítót és a HTTP-műveletet használja az Ismétlődés eseményindító helyett, amely nem támogatja ezt az ismétlődési mintát.

  1. Az Azure Portalon hozzon létre egy Használat logikai alkalmazást.

  2. A tervezőben nyissa meg az üres munkafolyamatot. A tervező eszköztárán válassza az Örökölt tervező engedélyezése lehetőséget.

  3. A tervező eszköztárán válassza a Sablonok lehetőséget.

  4. A megnyíló lapon görgessen végig a videón a Sablonok szakaszig.

  5. A Kategória listában válassza az Ütemezés lehetőséget, majd válassza a következő sablont:

    Képernyőkép a kijelölt, Scheduler Run once jobs (Ütemező futtatása egyszer) nevű sablonról.

  6. A tervező eszköztárán válassza az Általánosan elérhető tervező lehetőséget.

  7. Az alábbi általános lépéseket követve adja hozzá a Delay (Késleltetés) nevű ütemezési műveletet, és adja meg a következő művelet futtatásának időpontját.

Vagy elindíthatja a munkafolyamatot a HTTP-kérés fogadásakor elnevezett Kérelem eseményindítóval, és az eseményindító paramétereként átadhatja a kezdési időpontot.

Futtatás egyszer a hónap utolsó napján

Ehhez a feladathoz a munkafolyamat mögöttes JSON-definíciójában szereplő Ismétlődési eseményindítót kódnézet használatával kell szerkesztenie, nem a tervezővel, az alábbi példával:

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

Ismétlődő eltolódás és eltolódás aktiválása (nyári időszámítás)

A feladatok ütemezéséhez az Azure Logic Apps a feldolgozásra szánt üzenetet az üzenetsorba helyezi, és meghatározza, hogy mikor válik elérhetővé az üzenet, az utolsó feladat futásának UTC-ideje és a következő feladat ütemezésének UTC-időpontja alapján. Ha az ismétlődés kezdő időpontját adja meg, győződjön meg arról, hogy kiválaszt egy időzónát , hogy a logikai alkalmazás munkafolyamata a megadott kezdési időpontban fusson. Így a logikai alkalmazás UTC-ideje is eltolódik, hogy ellensúlyozza a szezonális időváltozást. Az ismétlődő eseményindítók betartják a beállított ütemezést, beleértve a megadott időzónát is.

Ellenkező esetben, ha nem jelöl ki időzónát, a nyári időszámítás (DST) eseményei hatással lehetnek az eseményindítók futtatásakor. A kezdési idő például egy órával előrehalad a DST indításakor, egy órával pedig visszafelé, amikor a DST véget ér. Bizonyos időablakok azonban problémákat okozhatnak az időeltolódások során. További információt és példákat a nyári időszámítás és a téli idő ismétlődése című témakörben talál.

Következő lépések