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.
Megjegyzés:
Ha a jövőben csak egyszer szeretné elindítani és futtatni a munkafolyamatot, használja a Scheduler: Run Once Jobs nevű munkafolyamat-sablont. 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. További információ: Feladatok futtatása csak egyszer.
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
Azure-fiók és -előfizetés. Ha még nincs előfizetése, regisztráljon egy ingyenes Azure-fiókra.
Egy használatalapú vagy standard logikai alkalmazás erőforrása üres munkafolyamattal.
Megjegyzés:
Ha standard logikai alkalmazás munkafolyamatot hozott létre, mindenképpen hozzon létre állapotalapú munkafolyamatot. Az ismétlődési eseményindító jelenleg nem érhető el állapot nélküli munkafolyamatokhoz.
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:
Az Azure Portalon nyissa meg a logikai alkalmazás erőforrását és az üres munkafolyamatot.
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:
Property JSON-név Szükséges Type Description Intervallum interval
Igen Egész szám 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.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.
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.
Property JSON-név Szükséges Type Description 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. 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.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?
Megjegyzé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.
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ő.
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ő.
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"
}
}
}
Megjegyzé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"
}
}
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.